2015-07-21 14 views
12

Esistono più domande simili, ma non sono riuscito a trovare alcuna risposta utile. Ho creato l'applicazione Facebook e andrò a recuperare i dati della pagina/post da Facebook per conto di quella applicazione. - Ho permessi speciali read_insights su Page. - Ho creato un token di accesso con quell'autorizzazione per la mia app di Facebook. (che verrà automaticamente esteso). Oggi ho affrontato al problema con ottenere errori transitori:Elaborazione efficiente dei dati della pagina Facebook

Error, Code: 4, Message: Application request limit reached 
Error, Code: 17, Message: User request limit reached 

Non ci sono risposte relative a questi problemi (Facebook api: (#4) Application request limit reached, Facebook OAuth Error: Application request limit reached).

In base alla politica della piattaforma Facebook è necessario contattarli, Se si supera o si prevede di superare una qualsiasi delle seguenti soglie, si prega di contattarci in quanto potrebbero essere soggetti a termini aggiuntivi: (> 5 M MAU) o (> Chiamate API 100M al giorno) o (> 50 milioni di impressioni al giorno). La mia app ha effettuato chiamate da 300 K durante la settimana, quindi non dovrebbe superare queste limitazioni. Ho contattato Facebook ma non hanno ancora risposto.

Mi piacerebbe sapere quali sono le migliori pratiche per il recupero dei dati da Facebook. Ho bisogno di recuperare

1. /page_id?fields... 
2. /page_id/posts?fields... 
3. /post_id/likes?fields... 
4. /post_id/comments?fields... 
5. /page_id/insights/ 
6. /post_id/insights/ 

per 2-4 non posso usare le richieste in batch a causa di risultati impaginati, sto prendendo con limite = 100, per 5-6 ho creato richieste batch con specifiche URL intuizione che ho necessario e non è più possibile ridurre il numero di chiamate.

Quando ho affrontato a

Error, Code: 4, Message: Application request limit reached 

ho creato nuove app e per il recupero Insights ho concesso il permesso di read_insights stesso utente Facebook. Poi ho affrontato a

Error, Code: 17, Message: User request limit reached 

quindi immagino che se gettone sarebbe generato da un altro utente che ha il permesso di read_insights nuova applicazione potrebbe funzionare.

Qualcuno può suggerire quale sarà l'approccio migliore per risolvere il mio problema? Devo configurare più token di accesso alla Pagina per la mia app (generati da utenti diversi) e passare da una all'altra quando per uno dei token si verifica l'errore # 4 o l'errore # 17?

+0

Che tipo di token di accesso si sta utilizzando? Immagino un token di accesso alla pagina? – Tobi

+0

Sto utilizzando il token di accesso alla pagina generato per la mia app tramite graph explorer con permessi di lettura approfondita per Insights, per il resto viene usato il token dell'app base (app_id | app_secret). –

risposta

0

Hai provato quanto segue?

  • Utilizzando l'API aggiornamenti in tempo reale di notifica di nuovi posti e nuovi commenti sui post, piuttosto che di polling
  • (sembra che si sta facendo questo) Garantire che si sta utilizzando il token di accesso pagina per una pagina recuperare i dati per quella pagina e non il token di un utente o un'altra pagina
  • Memorizzazione nella cache dei dati che è improbabile modificare per evitare il recupero
  • Richiesta di più post in una singola chiamata piuttosto che un post per chiamata (utilizzando il? ids = sintassi x, y, z documentata qui: https://developers.facebook.com/docs/graph-api/making-multiple-requests)

Utilizzando questi metodi è possibile evitare di colpire interamente questo

+0

Ho bisogno di dati storici prima di recuperare in tempo reale, quindi devo usare dal parametro ... –

+0

Per più richieste Facebook li calcola effettivamente come più chiamate, non una, e tengono conto di più fattori (inclusa la CPU e la memoria che hanno usato) per le chiamate –

+0

Nel peggiore dei casi sto pianificando di pianificare le chiamate per alcune richieste di massa, con un intervallo di tempo ottimale, ma non vedo l'ora di un'altra soluzione –

Problemi correlati