エントリー

HTTP_OAuth_Consumerでの認証エラー対策

TwitterでOAuthを行うPHPプログラムを書く場合、HTTP_OAuth_Consumerクラスを使って

$consumer = new HTTP_OAuth_Consumer('CONSUMER_KEY', 'CONSUMER_SECRET');
$consumer->setToken('TOKEN');
$consumer->setTokenSecret('TOKEN_SECRET');

$response = $consumer->sendRequest('http://api.twitter.com/1/statuses/user_timeline.xml?include_rts=true&page=1', array(), 'GET');

$xml = simplexml_load_string($response->getBody());

print_r($xml);

のように処理していたのですが、6月7日から急に「This method requires authentication.」というエラーが返ってくるようになりました。

なかなか原因が解らなかったのですが、sendRequestでデータを送受信する際に

$response = $consumer->sendRequest('http://api.twitter.com/1/statuses/user_timeline.xml', array('include_rts' => true, 'page' => 1), 'GET');

とするとエラーにならなくなりました。引数を ? に続けて渡さずに、別途 array() で渡すように変更しています。

? に続けて引数を渡すのは非推奨な方法で、6月7日に非推奨な方法を廃止したのかなぁ…と思いますが、原因は不明です。「ページ送り機能が削除されて、APIが使い物にならなくなった。」とか思っていたのですが、そうではなくて良かった。ヽ(;▽;)ノ

ページ移動

ユーティリティ

カテゴリー

検索

エントリー検索フォーム
キーワード

過去ログ

過去ログ表示フォーム
キーワード

Feed