まだ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されるデータを調べる事が出来ます。

0 件のコメント:

コメントを投稿