Ricevo l'errore dell'API grafico n. 613 (messaggio: "Calls to mailbox_fql have exceeded the rate of 300 calls per 600 seconds
", tipo: OAuthException
) durante il test della mia app. È un'app desktop e l'unica copia è quella in esecuzione sulla mia macchina (quindi c'è solo uno access_token
e un utente - me).Errore: "Le chiamate a mailbox_fql hanno superato la velocità di 300 chiamate per 600 secondi"
Interroga l'endpoint inbox
una volta ogni 15 secondi circa. Combinata, l'app effettua circa 12 chiamate API (a diversi endpoint) al minuto. Non riesce costantemente su qualsiasi chiamata recupera il thread 300 (ci sono circa 25 thread nella prima pagina dell'endpoint inbox
e sto recuperando solo la prima pagina). Non sto effettuando chiamate in batch all'API Graph.
Sto sviluppando su Mac OS X 10.7 utilizzando Objective-C. Io uso NSURLConnection
per chiamare l'API Graph in modo asincrono. Per quanto ne so, ogni richiesta elaborata da NSURLConnection
dovrebbe comportare solo una richiesta all'API di Facebook.
Continuando a quanto sopra, ho difficoltà a capire perché sto ricevendo questo errore. Sospetto che sia perché una singola chiamata all'endpoint inbox
(, ad esempio una chiamata all'URI https://graph.facebook.com/me/inbox?access_token=...
) viene conteggiata come più di una chiamata a mailbox_fql
. In particolare, penso che una singola chiamata che restituisce < n thread > conta come <n> chiamate contro mailbox_fql
. In questo caso, esiste un modo per ridurre il numero di chiamate a mailbox_fql
per chiamata API (, ad esempio, recuperando solo i thread più recenti nella cartella Posta in arrivo, anziché nella prima pagina intera, solo per n >?
La documentazione sembra essere piuttosto scarna su questo argomento, quindi ho dovuto passare per lo più attraverso tentativi ed errori. Sarei elettrizzato se qualcun altro sapesse come affrontare questo problema.