はい、備忘録です。
Twitter APIでアプリケーションを作成するにあたって、PEARを使った方法はいろいろあるんだけど、なんとなく内容を把握せずに使うのも気がひける、っつーことで、素のPHPコードで試してみる。
特に、リクエストトークンを取得するまでが超面倒なんで、そこの部分だけ晒してみるテスト。
Product Advertising APIを触ってて良かった。
以下ソース。
TWTR_CONSUMER_KEY,
'oauth_signature_method' => 'HMAC-SHA1',
'oauth_timestamp' => time(),
'oauth_nonce' => md5(uniqid(mt_rand(), TRUE)),
'oauth_version'=> '1.0',
);
//変数名でソート
$request_sorted = $request_param;
ksort($request_sorted);
//1行のクエリに加工
$request_queries = array();
foreach ($request_sorted as $k => $v) $request_queries[] = "{$k}={$v}";
$request_query = implode('&', $request_queries);
//それぞれをURLエンコードして接続
$twtr_signature_base = "GET&";
$twtr_signature_base .= rawurlencode('http://'. TWTR_REQUEST_DOMAIN. TWTR_REQUEST_PATH). "&";
$twtr_signature_base .= rawurlencode($request_query);
//Signatureの作成とクエリーの作成
$request_param['oauth_signature'] = base64_encode(hash_hmac('sha1', $twtr_signature_base, rawurlencode(TWTR_CONSUMER_SECRET).'&', true));$request_queries = array();
foreach ($request_param as $k => $v) $request_queries[] = $k. '='. rawurlencode($v);
$request_query = implode('&', $request_queries);
//リクエストURLの作成
$twtr_signed_url = 'http://'. TWTR_REQUEST_DOMAIN. TWTR_REQUEST_PATH. '?'. $request_query;
//リクエストトークンの取得
echo file_get_contents($twtr_signed_url);
Twitter API プログラミング
posted with amazlet at 11.03.07
辻村 浩
ワークスコーポレーション
売り上げランキング: 131008
ワークスコーポレーション
売り上げランキング: 131008
