まだxAuth対応していませんのでしばらくおまちください。

2010年5月23日日曜日

phpでxAuthのテスト

http://www.sdn-project.net/labo/oauth.html
を改造してxAuthに対応してみました。
Twitter API Wiki / OAuth Examplesのtwitteroauthを使用します。
(http://github.com/abraham/twitteroauth)
必要なファイルはOAuth.phpとtwitteroauth.phpです。
下記プログラムで実現できました。

なおxAuthはtwitterの中の人にメールを出して許可をもらわないと使えませんのでご注意ください。
getXAuthToken("your_id","your_password");

// home_timelineの取得。TwitterからXML形式が返ってくる
$req = $to->OAuthRequest("https://twitter.com/statuses/home_timeline.xml","GET",array("count"=>"5"));

// XML文字列をオブジェクトに代入する
$xml = simplexml_load_string($req);

// foreachで呟きの分だけループする
foreach($xml->status as $status){
      $status_id = $status->id;  // 呟きのステータスID
      $text = $status->text;  // 呟き
      $user_id = $status->user->id;  // ユーザーナンバー(数字の方は絶対に変わらない)
      $screen_name = $status->user->screen_name;  // ユーザーID(いわゆる普通のTwitterのID)
      $name = $status->user->name;  // ユーザーの名前(HNなど)
      echo "

".$screen_name." / ".$name." この呟きのパーマリンク \n".$text."

\n"; } ?>
signatureは実際どの文字列を使っているかが知りたかったら
OAuth.phpのget_signature_base_stringの部分で調べる事が出来ます。
public function get_signature_base_string() {
    $parts = array(
      $this->get_normalized_http_method(),
      $this->get_normalized_http_url(),
      $this->get_signable_parameters()
    );

    print implode('&', $parts);
    $parts = OAuthUtil::urlencode_rfc3986($parts);
    print implode('&', $parts);

    return implode('&', $parts);
  }

build_signatureでhash_hmac部分を調べる事が出来ます。

to_postdataではpostされるデータを調べる事が出来ます。

2010年5月9日日曜日

xAuth

OAuthでずっと悩んでいたのでいました。(というのもマイナーな開発言語のためクラス等を公開してくださるかたがいなくて自分で実装しなくてはいけないのですが、私程度のレベルの人間にはハードル高くて。。。)
ここしばらくphpのソースなどにらめっこしてテストしていたのです。

Twitter API プログラミングが発売されたので、購入してみました。

そこでxAuthという簡易版OAuthでデスクトップクライアントに良い認証方法がある事が掲載されていましたのでこちらを調べる事に。
とりあえず。こちら良さそうなのですがtwitterの中の人にメールを出して申請するそうな。英語は書けないのでメールのサンプルを検索して申請してみました。うまくいくといいなぁ。

2010年5月3日月曜日

OAuth

わかってはいたのですが、後で実装しようとしていたOAuth認証。
twitter-joは簡単なbasic認証を使っているのですがOAuth認証はサンプルソースやライブラリも多いので何とかなるだろうと思っていたのですが、全然無い!!!REAL Studioというマイナー?な開発環境を使っているからなのですが。。。
これは困った。basic認証が使えるタイムリミットは短いという事でただいま自作を検討中です。うむむむむ。こいつはまずいなぁ