1

Twitter API を使用して PHP ベースのアプリケーションを作成しています。これまでは、PHP ページで GET リクエストを介して REST API を使用していました。しかし、アプリがスケールするにつれて、1 時間あたりのリクエスト数が 150 の制限を超えていることが容易にわかります。理由は次のとおりです。

トピックのカテゴリがあり、それぞれが定期的に Twitter API をポーリングして、トピックに関するツイートを探しています。たとえば、mysite.com/cars、mysite.com/trucks などがあります。ユーザーはどちらのページにも移動できます。彼がそのページにいるときは、私が設定した PHP ページに AJAX 呼び出しを行うことで、Twitter からライブのさわやかな更新が取得されます。PHP ページは、ユーザーがどのカテゴリ (車、トラック) から来ているかを判断し、検索結果について Twitter をポーリングし、JSON をカテゴリ ページに返します。これは紛らわしいように聞こえますが、中間の PHP ページが必要な理由は他にもいくつかあります。

問題は、PHP ページがリクエストを行っているため、すぐにレート制限を使い果たしてしまうことです (車とトラックだけでなく、20 のカテゴリがあると想像してください)。複数のパラメーターを使用して単一の呼び出しを行うことはできません。これは、複数のカテゴリのツイートを組み合わせて、それらを分離する方法がないためです。結果をキャッシュすることはできますが、そうすると、追加するカテゴリが増えるほど、それぞれの API 呼び出し間の時間が長くなります。

では、この問題にどのようにアプローチできますか?ストリーミング API を調べましたが、これは oAuth されたユーザー専用であり、ユーザーが何かにログインする必要はありません。PHP ページでストリームを使用して、カテゴリ ページが PHP ページをポーリングするたびに継続的な要求を行うことはできますか? 助けてくれてありがとう!

4

1 に答える 1

1

a)ストリーミングAPIでウェブサイトユーザーのoAuthクレデンシャルを使用する必要はありません。自分だけのクレデンシャルを使用してください。dev.twitter.comのどこかに取得してハードコーディングしてください。ユーザーは、舞台裏でoAuthが実行されていることを知りません。

b)匿名リクエスト(1時間あたりIPあたり150)を使用しないでください。oAuthリクエスト(1時間あたりoAuthあたり350)を使用してください。ユーザーに歌ってもらう必要はありません。プライベートTwitterアカウントをいくつか(開始するには1つで十分です)サインインするだけです。Twitterログイン機能を作成したくない場合は、dev.twitter.comでTwitterアプリケーションのTwitterアカウントのクレデンシャルを取得できます。

c)@Cheesoが述べたように-キャッシュ!すべてのページロードにTwitterリクエストを行わせないでください。

于 2012-05-09T08:15:31.433 に答える