私はユーザーデータを幾分頻繁にチェックする必要があるTwitterアプリケーションを構築していますが、私は奇妙なことにTwitterの側ではなく私のキャッシュで問題に直面しています。 XMLでTwitter APIのキャッシュ問題を回避するにはどうすればよいですか?
users/show
:JSONでhttp://twitter.com/users/show.xml?screen_name=technolocus
users/show
:http://twitter.com/users/show.json?screen_name=technolocus
通常のページ:同じ値を返す必要があり、データにアクセスするhttp://twitter.com/technolocus
すべてのこれらのメソッド
は、次のユーザーを試してみてください、 右?それぞれについてstatuses_count
を確認してください。
XML:12548
JSON:12513
通常:12498
通常のメソッド(つまり、単に非プログラム的プロファイルを訪問)私が投稿する場合12498.の最も正確な値を提供このアカウントへのツイートを削除すると、即座にプロファイルページで更新されますが、XMLおよびJSONメソッドはキャッシュデータを返します。
この時点で、XMLおよびJSONメソッドの値はそれぞれ12〜18時間です。
私はまず自分のウェブサイト(Dreamhostでホストされている)からこれらのメソッドにアクセスしようとしました。 Dreamhostがレスポンスをキャッシュしていると思いました。その後、ブラウザからAPIに直接アクセスしようとしました。その後私のマシンからコマンドラインからcURL
を実行しました。それはdreamhostではありませんでした。私はそれがおそらく私のISPだと思っていました(彼らはNetAppなどを使っていると思います)。それから私はインドの別の場所にいる友人にそれを試してもらいました。彼は私と同じキャッシュレスポンスを得ています。
Dreamhostのキャッシュではありません。私のISPや私の国のキャッシュではありません。結論は1つだけです - Twitterはキャッシュレスポンスです。
どのように天国でこれを回避できますか?
これは忘れてしまいました:サーバー上のスクリプトはPHPであり、ローカルテストではブラウザを使用していたのに対し、cURLを使用してTwitterからXMLおよびJSONデータを取得しています。両方ともまったく同じ結果になります!
サーバは、このデータを取得するためにcURLを使用してPHPスクリプトを実行していますが、ローカル試行はブラウザで行われています。 URLにアクセスしましたか?あなたは何を得ているのか教えていただけますか? – aalaap
これはTwitterがそれについて何かしない限り得られないと思いますので、TwitterのGet Satisfactionフォーラムに投稿しました:http://getsatisfaction.com/twitter/topics/why_do_the_xml_json_and_direct_methods_of_accessing_a_users_profile_return_different_mostly_stale_data – aalaap
すべてのXML、JSON、およびWebのstatuses_count値が、現時点では同じ値(9196)を返すことに注意してください。 – aalaap