Facebookアプリを最適化しようとしています。
今日、私は4つのグラフAPI呼び出しでバッチ呼び出しを行います。
/me
/me/friends
/me/likes
/me/feed
次のようなフィールド展開を使用して、これを単一のグラフAPI呼び出しに変更すると、次のようになります。
/me?fields=id,name,username,friends,likes,feed
これで、レート制限の目的で、APIに対するヒットが4回ではなく、1回としてカウントされますか?
Facebookアプリを最適化しようとしています。
今日、私は4つのグラフAPI呼び出しでバッチ呼び出しを行います。
/me
/me/friends
/me/likes
/me/feed
次のようなフィールド展開を使用して、これを単一のグラフAPI呼び出しに変更すると、次のようになります。
/me?fields=id,name,username,friends,likes,feed
これで、レート制限の目的で、APIに対するヒットが4回ではなく、1回としてカウントされますか?
残念ながら、バッチ内の各呼び出しは API 呼び出しとしてカウントされます。1 つの要求になるため、バッチ内で呼び出す方が高速です。Facebook API に関するこちらのドキュメントを参照してください。
制限
現在、バッチに含めることができるリクエストの数は 50 に制限されていますが、バッチ内の各呼び出しは、API 呼び出しの制限とリソースの制限を計算する目的で個別にカウントされます。たとえば、10 回の API 呼び出しのバッチは 10 回の呼び出しとしてカウントされ、バッチ内の各呼び出しは同じように CPU リソースの制限に影響します。
ソース: https://developers.facebook.com/docs/reference/api/batch/
実際のテストに基づいて、フィールド拡張はレート制限の下で複数回使用できることがわかりました。たとえば、静かな状態から開始して、1 つの API (graph.facebook.com/IDENTITY/posts) に対する 63 回のフィールド拡張呼び出しのシーケンスにより、600 回の呼び出しレート制限に達しました。