アプリのテスト中に、Graph API エラー #613 (メッセージ: " Calls to mailbox_fql have exceeded the rate of 300 calls per 600 seconds
"、タイプ: ) が表示されます。OAuthException
これはデスクトップ アプリであり、唯一のコピーは私のマシンで実行されているものです (したがって、access_token
ユーザーは 1 人、つまり私だけです)。
inbox
15 秒ごとに 1 回、エンドポイントにクエリを実行します。組み合わせると、アプリは 1 分あたり約 12 回の API 呼び出しを (さまざまなエンドポイントに対して) 行います。300 番目のスレッドをフェッチする呼び出しで一貫して失敗します (inbox
エンドポイントの最初のページには約 25 のスレッドがあり、最初のページのみをフェッチしています)。Graph API への呼び出しをバッチ処理していません。
Objective-C を使用して Mac OS X 10.7 で開発しています。私はNSURLConnection
、Graph API を非同期で呼び出していました。私の知る限り、によって処理される各リクエストはNSURLConnection
、Facebook の API への 1 つのリクエストのみになるはずです。
上記に進みますが、このエラーが発生する理由を理解するのに苦労しています。inbox
これは、エンドポイントへの 1 回の呼び出し(つまり、URI への呼び出しhttps://graph.facebook.com/me/inbox?access_token=...
) が への複数回の呼び出しとしてカウントされるためだと思われmailbox_fql
ます。特に、 <n> 個のスレッドを返す単一の呼び出しは、 <n> 個の呼び出しに対してカウントされると思いますmailbox_fql
。この場合、mailbox_fql
API 呼び出しごとの呼び出し回数を減らす方法はありますか (たとえば、最初のページ全体ではなく、受信ボックス内の最新の <n> スレッドのみをフェッチするなど)?
このトピックに関するドキュメントはかなりまばらであるように見えるので、ほとんど試行錯誤を経てやり遂げなければなりませんでした。他の誰かがこの問題に取り組む方法を知っていれば、私はわくわくします。