0

ユーザーの最新の Twitter フィードを取得する必要があります。私が使った

https://api.twitter.com/1/statuses/user_timeline.json?oauth_token=ecwmW3pMB8euREHVljdySRexys6c6XYangqEANY&screen_name=twitter_name&count=1

しかし、「レート制限を超えました」というメッセージが表示され、クライアントは1時間あたり150のリクエストを作成できませんでした。

次のように、コンシューマ キー、コンシューマ シークレット、アクセス トークン、アクセス シークレット、およびコードを使用して、Twitter Oauth リクエストを使用しました。

$oauth_consumer_key="Vqlj7vd9yHo5MZPnWGf3w";
$oauth_nonce="af00a3a26b15ec0178ce0342acc9b392";
$oauth_signature_method="HMAC-SHA1";
$oauth_timestamp="1341408794";
$oauth_token="620811780-30jD4XHWFvp15RcjmxHkLLicFlvMDuNaWp6fKjia";
$oauth_version="1.0";
$oauth_signature=rawurldecode("N6L4VJLJjY%2BPKxoelttqe2GOPAw%3D");

$url = "https://api.twitter.com/1/statuses/user_timeline.json?";
$url .= "screen_name=twitter_name";
$url .= "&oauth_consumer_key=".$oauth_consumer_key."";
$url .= "&oauth_token=".$oauth_token."";
$url .= "&oauth_nonce=".$oauth_nonce."";
$url .= "&oauth_signature_method=".$oauth_signature_method."";
$url .= "&oauth_timestamp=".$oauth_timestamp."";
$url .= "&oauth_version=1.0";
$url .= "&oauth_signature=".$oauth_signature."";
$url .= "&count=1";
$url .= "&include_rts=true";
$url .= "include_entities=true";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: api.twitter.com'));
$json = curl_exec($ch);
curl_close ($ch);
$data = json_decode($json, true);
print_r($json);

それでも、レート制限を超えたエラーが発生します。

Oauthを使用してTwitterの最新フィードを取得するのを手伝ってくれる人はいますか。

ありがとう。

4

1 に答える 1

0

経験上、自分でネゴシエーションを処理しようとすると、Twitter OAuth は当たり外れがあります。これを達成するために数週間試みましたが、「レート制限を超えました」や「無効な OAuth キー」などのエラーが発生し続けました。私はライブラリをチェックアウトし、同じ時間内にステータスを取得したり、ステータスを設定したり、写真の有無にかかわらずツイートを送信したりできました.

これが私が今使っているものです、それをテストしてください。軽量で使いやすいです。

https://github.com/themattharris/tmhOAuth/

于 2012-07-06T08:32:20.627 に答える