FacebookのGraphAPI呼び出し制限とは何ですか?


回答:


58

2010年のAshRustからの、別のフォーラムからのこの質問に対する最良の回答:

「Facebookプラットフォームチームとのテストと話し合いの結果、私が認識している、またはドキュメントで見つけることができる公式の制限はありません。ただし、トークンごと、IPごとに600秒あたり600回の呼び出しが見つかりました。がどこにアプリケーションベースのレート制限もいくつか見ましたが、数値はありません。

原則として、1秒あたり1回の呼び出しでレート制限が発生することはありません。一見、これは非常に制限されているように見えますが、特定の呼び出しをバッチ処理し、サブスクリプションAPIを使用して変更を取得できることを忘れないでください。」


上記の情報は2015年10月の時点で廃止されました。https://developers.facebook.com/docs/graph-api/advanced/rate-limitingによると、特定の60分のウィンドウでユーザーあたり200のAPI呼び出しになりました


12
@mangobugトークンごとおよびIPごとの意味..正確には何ですか?2つの異なるIPで同じトークンを使用すると、通話数を2倍にできるということですか?同じIPから発信されたアクセストークンが2つある場合、通話数を2倍にすることはできますか?
ヘンリーチウ2012

2
@mangobug:ヘンリーチウの最後のコメント/質問はここで非常に重要だと思います:)
Erik

5
「ただし、特定の呼び出しをバッチ処理できることを忘れないでください」Facebookは、これによって有効なAPI呼び出しの数が制限に向かって減少することはないことを明確にしています。「呼び出しをバッチ処理してもAPI呼び出しの数は減少しません。」 developers.facebook.com/docs/marketing-api/...
heyitsbmo

3
これは無効になりました。任意の60分のウィンドウでユーザーごとに200を超えるAPI呼び出しを参照してください
Brandon Romano

1
アプリのユーザーを増やすにはどうすればよいですか?アプリユーザーとは何ですか?それは私が持っている数をどこに示していますか?
Farzher

48

今では公式です:

各アプリには、任意の60分のウィンドウでユーザーごと200のAPI呼び出しが割り当てられます

2015年10月7日現在のFacebookのドキュメントから、GraphAPIのレート制限がどのように機能するかを次に示します。

  • レート制限はFacebookAppIdで行われます。アプリがレート制限に達すると、そのアプリに対して行われるすべての通話は、ユーザーごとだけでなく制限されます。
  • レート制限は、アプリが前日に使用したユーザー数を取得し、今日の新しいログインを追加することで計算されます。これにより、アプリの基本ユーザー数がわかります。

たとえば、アプリに昨日10人のユーザーがいて、今日5回の新規ログインがあった場合、15ユーザーのベースになります。これは、アプリが任意の60分のウィンドウで((10 + 5)* 200)= 3000API呼び出しを実行できることを意味します。

詳細はこちら:https//developers.facebook.com/docs/graph-api/advanced/rate-limiting

- 2016年4月12日現在の更新-

Facebookにレート制限ダッシュボードが追加されました。これにより、アプリのレート制限を超えているかどうかを簡単に確認できます。次のようになります。

ここに画像の説明を入力してください


AFAIKの制限は、GraphAPIバージョン2.5以降のアプリにのみ適用されます。古いアプリにはまだこの制限がありません。
マリウス

制限に達した場合、Facebookがエラーを返すことは可能ですError: read ECONNRESETか?
Konstantinos Natsios 2016

実際の制限はユーザーごとではなく、1日のアクティブユーザーの平均です。「アプリはユーザーごとに1時間あたり合計200回の通話を行うことができます。たとえば、アプリのユーザー数が100人の場合、アプリは20,000回の通話を行うことができます。これはユーザーごとの制限ではないため、1人のユーザーが19,000回の呼び出しを行い、別のユーザーが1,000回の呼び出しを行うことができます。この制限は、過去1時間に行われた呼び出しの数に基づいて計算されます。」
Jason Goemaat 2016

2
彼らがestimatedCallsLeftForThisHour: 1234各呼び出しの後に戻るならば、とても簡単でしょう。
8

素晴らしく正確な答え!
Alex Pliutau 2018年

20

よると、Facebookのdevのポリシー「I.は、特徴や機能」唯一の制限は以下のとおりです。

(> 5M MAU)または(> 1日あたり> 1億API呼び出し)または(> 1日あたり> 5000万インプレッション)。

(Mauは毎月のユーザーを意味します)

制限を超えた後、彼らが何をするかについては述べていません...

今日、私はこの制限に走りました:

mailbox_fqlへの呼び出しは、600秒あたり300呼び出しの速度を超えています。

全体として、すべてのテーブルには異なる制限のセットがあり、ほとんどの場合、fqlはfqlごとに30を超えるオブジェクトを返しません。また、1つのテーブルの制限を超えることができ、同時に別のテーブルにアクセスできるように思えます。問題は、すべてのユーザーに対して(制限を超えた後)APIがブロックされるのか、それとも持っているユーザーに対してのみブロックされるのかということです。制限を超えました...とにかく、制限を超えた後は、大丈夫よりも約10分待つ必要があります。

したがって、技術的に言えば、テーブルmailbox_fqlで10分あたり最大300 * 30のオブジェクトを取得できます。


それらは契約が場所にある必要があり、その上しきい値、ないMangobugの答えであるハード技術的な限界、ある
IGY

実際には「mailbox_fqlへの呼び出しが600秒あたり300呼び出しの速度を超えました」ではありません。実生活で強制されたのは厳しい制限であることを意味します。それはまた、異なるテーブルには異なる制限があることを示唆しています。(これは本当です)。
Visgean Skeloru 2012

6

Facebookのドキュメントから

ユーザーレベルのレート制限

このレート制限は、広告APIを除くすべてのAPI呼び出しにユーザーレベルで適用されます。

レート制限は、スライディングウィンドウでリアルタイムに発生します。各通話にはスコアが割り当てられます。nの最大スコアがあります。ユーザーは、行われた呼び出しに基づいて、時間の経過とともにスコアを累積します。最大スコアに達すると、スロットルエラーがスローされます。エラー、コード:17、メッセージ:ユーザーリクエストの制限に達しました

アプリレベルのレート制限

このレート制限は、アプリレベルでグローバルに適用されます。広告API呼び出しは除外されます。

レート制限は、過去1時間、スライディングウィンドウでリアルタイムに発生します。統計は、行われた呼び出しとクエリの数、費やされたCPU時間、各アプリで使用されたメモリについて収集されます。各リソースには、特定のアプリの月間アクティブユーザーを掛けたものに制限があります。アプリが許可されたリソースを超えて使用すると、エラーがスローされます。エラー、コード:4、メッセージ:アプリケーションリクエストの制限に達しました

このドキュメントを確認して くださいhttps://developers.facebook.com/docs/reference/ads-api/api-rate-limiting/


ユーザーレベルの通話とアプリレベルの通話を行う方法の例はどこにありますか?どちらがアプリレベルの制限になるかに関係なく、すべてがアプリIDを通過しますか?彼らはこれに関するドキュメンテーションにはあまり良くありません。
Josh Bedo 2014

ドキュメントへのリンクが間違っています。正しいものはあるdevelopers.facebook.com/docs/graph-api/advanced/rate-limiting
Paiboon Panusbordee

この回答は、OPが尋ねたようなグラフAPIではなく、マーケティングAPIに関するものです。
ジョンワシャム2018年

3

FBドキュメントによると、バッチ内の各要素は個別の呼び出しとしてカウントされます。

現在、バッチに含めることができるリクエストの数は50に制限されていますが、API呼び出しの制限とリソースの制限を計算するために、バッチ内の各呼び出しは個別にカウントされます。たとえば、10個のAPI呼び出しのバッチは10個の呼び出しとしてカウントされ、バッチ内の各呼び出しは同じ方法でCPUリソースの制限に寄与します。

これを確認してください:https//developers.facebook.com/docs/graph-api/making-multiple-requests https://developers.facebook.com/docs/marketing-api/api-rate-limiting

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.