とりあえず組んだだけなのでテストはしてません(はあと

どこぞで見たアレがナニだったのでつくってみたらoAuthも対応しちゃったよという。

twitteroauth.phpを改造してcurlなしでも動作するようにしてあります。

作った人

ことぶきあきら http://twitter.com/kotobuki_t

ダウンロード

http://ko-lab.net/wp-content/uploads/2010/01/easyoauth20100111.zip



以下readmeのコピペ
・これはなに?

これはなに?

PHPで簡単にTwitterAPIを使えるようにした関数群です。

これを使うことによって簡単にBOTやPHPに組み込んで扱うことができ(ると思い)ます。

基本的に、1つの関数で1つのAPIを扱います。

oAuth対応です。

必要な条件

PHPが扱えること

PHPのバージョン5.0.0以上

4.X.Xでは動きません(未検証ですが5.0.0で追加された関数を使っているため動かないと思われます。)

PEARのHTTP_Requestを使えること

この関数群を使って壊れても文句を言わない心

使い方

1.解凍します



2.oAuthを使う場合とIDとパスワードを使う場合に分かれます。





・oAuthを使う場合



最初に、config.inc.phpを開いて USE_OAUTH を true にしてください。



例:

define(”USE_OAUTH”, true);



次に、以下のページの「TwitterへOAuthクライアントの登録」を行ってください。(@sdn_tomeさんに感謝!)

「PHPでOAuthを使う準備」の指定ページからのダウンロードは必要ありません。

解凍したファイルのみですぐ実行できます。



Callback URLには、http://このスクリプトを動かすサーバのドメイン/スクリプトのフォルダ/callback.php

としてください。



例:(botfolderに解凍したファイルがすべて入っています)

http://botserver.com/botfolder/callback.php





PHP+OAuthでTwitter – SDN Project

http://wolf.silk.to/labo/oauth.html





次にconfig.inc.phpを開いて CONSUMER_KEY と CONSUMER_SECRET を設定します。



例:

define(”CONSUMER_KEY”, “1qa2sws4ed4rf5tg6yh7uj8iiiiiki”);

define(”CONSUMER_SECRET”, “3572759f6bdc087e3517ddbfbb15c5b0″);





設定したならば、解凍したファイルをwebサーバー上にアップロードしてください。



次に、「oAuthで動かしたいアカウント」でTwitterにログインしてください。



その状態で、アップロードしたフォルダ内のindex.phpにアクセスしてください。



例:(botfolderに解凍したファイルがすべて入っています)

http://botserver.com/botfolder/index.php





Access Token と Access Token Secretに何も入っていないことを確認してください。



さらに、一番下の「Sign in with Twitter」と書いてあるボタンをクリックしてください。



Twitter側のoAuth認証画面になるので、「許可」してください。



最終的に、Access Token と Access Token Secretに文字列が入った状態のページが出てきますので、

config.inc.phpを開いて ACCESS_TOKEN と ACCESS_TOKEN_SECRET を設定してください。

文字列が入っていなかった場合はリロードしてみてください。



なお、ボタンがあった場所に何か表示されるかもしれませんが、バグではなく、oAuthがちゃんと動くかどうかのテストです。





config.inc.phpをアップロードしてサーバー上のファイルを更新してください。



config.inc.phpをアップロードしてサーバー上のファイルを更新するのを忘れないでください。





大事なことなので(ry



これでoAuthの設定は終わりです。





・IDとパスワードを使う場合



最初に、config.inc.phpを開いて USE_OAUTH を false にしてください。



例:

define(”USE_OAUTH”, false);





さらに、 LOGINNAME と LOGINPASS を設定してください。

例:

define(”LOGINNAME”,”kotobuki_t”);    //twitterのユーザID

define(”LOGINPASS”,”password”);//twitterのパスワード





解凍したフォルダの中のすべてのファイルをサーバにアップロードします。



おわりです。





3.この関数群を使うスクリプトに

require “tw.php”;

を追加します。

ただし、この設定は「アップロードしたフォルダと同じフォルダに関数群を使うスクリプトを入れる場合」

の設定なので、別フォルダに作る場合は適宜修正してください。



4.使いたい関数を書きます。



5.サーバ上のfriend_since_id.txt と dm_since_id.txt を書き込み可能な属性にします。

666か606か600がいいでしょう。



6.アップロードして動くかどうか確認します。



7.動いたならお疲れ様でした。動かなかったなら頑張って原因を探してください。





※define(”__DEBUG”,true); について

コメントアウトするとtwitterから返ってきたデータが出力されます。

作成段階にAPIを扱えているかどうか確認する場合に便利です。

超簡単サンプルコード

指定した文をPOSTするだけの簡単なコードです。

以下をコピーしてtest.phpというファイルを作ってペーストし、サーバ上で実行してみてください。

<?php



require "tw.php";



$message = "テスト投稿";



//mb_convert_encordingで文字コードをUTF-8に変換しておくと後々助かると思います

$message = mb_convert_encoding($message, "UTF-8", "ASCII,JIS,UTF-8,EUC-JP,SJIS");



tw_update_post($message);



?>



たぶん動くはず!

ライセンス関係

oAuthを使う場合はabraham氏のライセンスに則ってください。

たぶん再頒布しない限りは大丈夫だと思います。

使わない場合はtw.phpのみフリーです。





動かなかった場合はコメント欄か@kotobuki_tまで