9

Sto provando a trasmettere in streaming i feed pubblici in tempo reale utilizzando l'API di Web-hook di Facebook. Qui sto cercando di impostare un abbonamento alla pagina nella console di aggancio del Web. C'è un campo chiamato URL di richiamata. Di cosa tratta questo URL?Che cos'è l'URL di richiamata nell'abbonamento alla pagina web di Facebook?

Ho anche provato a consultare la documentazione relativa all'impostazione dell'URL di richiamata. ma non riuscivo a capire.

https://developers.facebook.com/docs/graph-api/webhooks#setup

Cant l'URL di richiamata sia localhost SSL? Ogni volta che provo a fornire un URL localhost, viene visualizzato un messaggio di errore "Impossibile verificare l'URL fornito".

+1

Facebook invierà una richiesta a tale URL dai propri server per consegnare gli aggiornamenti, quindi ovviamente deve essere pubblicamente raggiungibile su Internet, che ovviamente non è un indirizzo di localhost. – CBroe

+0

Ok. questo URL verrà richiamato dall'API di Facebook quando eseguo lo streaming per i feed? Come ottengo l'oggetto del feed di risposta? –

+1

Facebook invierà una richiesta a quell'URL se tutti i dati per l'oggetto e i campi per i quali è stata effettuata l'iscrizione sono cambiati. E come appare la struttura dei dati, è descritta nei documenti. Per i campi della pagina restituisce direttamente il nuovo contenuto; per i campi utente ti dirà solo quali campi sono stati modificati, in modo che tu possa fare una richiesta per quei dati. – CBroe

risposta

3

Facebook invierà una richiesta a tale URL dai propri server per fornire gli aggiornamenti, quindi ovviamente deve essere raggiungibile pubblicamente su Internet, che ovviamente non è un indirizzo di localhost.

Facebook invierà una richiesta a quell'URL se i dati per l'oggetto e i campi per i quali è stata effettuata l'iscrizione sono cambiati. E come appare la struttura dei dati, è descritta nei documenti. Per i campi della pagina restituisce direttamente il nuovo contenuto; per i campi utente ti dirà solo quali campi sono stati modificati, in modo che tu possa fare una richiesta per quei dati.

È possibile ottenere solo aggiornamenti in tempo reale per le pagine alle quali si ha accesso come amministratore. E l'API del feed pubblico non è deprecata; ma l'accesso ad esso è limitato a un piccolo gruppo di partner di Facebook. Non puoi candidarti per diventarne uno: se hai assolutamente bisogno di questo tipo di dati, dovrai contattare uno di questi partner e farli sviluppare una soluzione per te.

+0

"È possibile ottenere aggiornamenti in tempo reale solo per le pagine alle quali l'amministratore ha accesso" Quindi nella mia applicazione non posso usare webhook per notificare all'utente modifiche alle pagine che desidera, ad esempio quando una pagina pubblica un nuovo video , foto o post? –

+1

Solo se l'utente o l'utente è un amministratore della pagina, in modo che sia possibile utilizzare il proprio token utente/utente per generare un token di accesso alla pagina per tale pagina. – CBroe

+0

Quindi attualmente non è possibile implementare nella mia applicazione una funzione simile a Facebook sul Web [Notifiche (Tutti i post - video - foto - collegamenti - aggiornamenti di stato)] ... Quindi, c'è un altro modo per consentire agli utenti dell'applicazione di seguire le pagine che desiderano e vengono notificate quando queste pagine pubblicano video, ad esempio? Perché utilizzare un controllo periodico per un numero di pagine per ciascun cliente non è una soluzione auspicabile per me. –

20

È possibile inoltrare la richiesta al localhost con il seguente:

  1. Scaricare e installare ngrok da https://ngrok.com/download
  2. ./ngrok http 8445
  3. Iscriviti tua pagina agli Webhooks utilizzando verify_token e https://<your_ngrok_io>/webhook come URL di callback.
  4. Parla con il tuo bot su Messenger!
+1

in 2 minuti era il mio localhost webhookable! risposta geniale! – injecteer

+0

fb non può verificare l'url di richiamata. hai dovuto scrivere qualcosa in app.get ('/', callback)? – jerbotron

+0

Sì, basta restituire 200 OK. –

0

Penso che significhi che è necessario un server che abbia un indirizzo IP fisso. Se si desidera utilizzare l'aggiornamento in tempo reale da Facebook, è necessario creare un server che riceve la richiesta di posta da Facebook e nel frattempo mantenere una connessione lunga all'endpoint in modo che l'endpoint possa ricevere il messaggio inviato dal server.

Problemi correlati