v1.1 ドキュメントで見たように、このための API はありません。誰かがツイートを投稿したときに、投稿を取得したり、Web サーバーへの http 要求を取得したりする簡単な方法は何ですか? 私の横で、新しいツイートのユーザーのタイムラインをチェックする 5 分間の cron を作成しています。私はphpを使用しています。
2 に答える
いいえ、x 分ごとに新しいツイートをチェックするループが最善の解決策のように思えます - cron はこの種のもののために作られました。
RSS が削除され、twitter API を介して返される唯一の応答形式がjsonになったため、json のみに対してサーバー側の認証済み要求を利用することを検討します。
私があなたの立場なら、次のようにします。
- できるだけ少ないデータを返すようにスクリプトを作成しますが、可能な限り焦点を絞ったデータを返します。
したがってfrom:
、リクエストのフィールドを使用して、チェックするユーザーを指定し、count
変数を として指定します1
。これは、できるだけ少ないデータを要求していることを意味し、競合する json 応答には 1 つのツイートしかありません。search/tweetsエンドポイントを使用します。例: ?q=from:username&count=1
.
- 比較する最後のつぶやきを保存し、取得したばかりのつぶやきが異なる場合は、それを表示するか、好きなように処理します。
これで、ツイートをデータベース (追加のオーバーヘッド) に保存するか、フラット テキスト ファイルに保存することができます (問題にはならないはずです。とにかく、ツイートは一般に公開されています)。または、最後の2 つのつぶやきを返し、それらが異なる場合は最新のものを表示します。2 回つぶやいていない場合にのみ、非常に迅速に機能します。
認証されたリクエストを行うには、単純なライブラリが必要になります。PHPでそれを行うには、この投稿をチェックすることをお勧めします。それはすべてを説明し、実際には可能な限り少ないコードです. これがライブラリです。
最後に、これが役立つかどうかはわかりませんが、つぶやきが見つかったときに電子メールを送信すると主張するtwotiに出くわしました。実際、これは先ほど説明したものと同様のアーキテクチャになると思いますが、サービスはデータ取得をサーバーにオフロードするため、電子メール アドレスをチェックすることで別のことを行うことができます (新しいツイートの場合は、必要な「プッシュ」通知)。幸運を!