1

友達が共有しているアイテムを表示したいアプリケーションがあります。これは基本的にFacebookニュースフィードに表示されるデータのサブセットであるため、/me/home必要のないものを取得して除外しています。

問題はそれ/me/homeが非常に遅いことです。1200〜10000ミリ秒の応答時間の範囲があり、平均で約4秒です。

キャッシュされた接続とSSLを正しく実行するHTTPライブラリを使用しても、これらの要求時間はあまり変わりません。

ニュースフィードを取得するためのより良い方法を知っている人はいますか?ブラウザでFacebookを開くと、ニュースフィードがすぐに表示されます。したがって、このデータ用に最適化されたGraph API呼び出しがあるのか​​、それともこの結果がすでにキャッシュされているのか疑問に思います。

これに代わるFQLはありますか?

4

1 に答える 1

2

これはFQLで行うことができます。このクエリで開始できます。

SELECT post_id, actor_id, target_id, message, attachment FROM stream WHERE filter_key = 'others'

フィードのGraphAPIエクスプローラーでは、FQLクエリの応答時間が約1000ミリ秒であるのに対し、の応答時間は約2500ミリ秒ですme/home

Facebookのホームページでは、一連のAJAXクエリを使用して、ページの各ボックスに一度に少しずつ入力することに注意してください。私は先週ホテルで非常に遅い接続をしていて、これらの塗りつぶしボックスをボックスごとに見ていました。ニュースフィードは最初に一度に5つの投稿で埋められ、次にページ上の他のボックスが埋められます。ページの読み込みパフォーマンスが問題になる可能性がある場合は、非同期モデルに移行することをお勧めします。

グラフAPIだけを使用する場合よりも、FBからデータが返される前にデータをより細かくフィルタリングできるため、FQLは間違いなくそれを支援します。

于 2012-07-18T15:25:35.517 に答える