Ho diverse pagine di Facebook e vorrei fare funzionare lo stesso bot in ogni pagina. Sto usando il quadro bot e tutto funziona perfettamente per una pagina ora. Come associo con più pagine?
Come posso utilizzare lo stesso bot su più pagine Facebook utilizzando framework bot
Ogni pagina ha bisogno la propria applicazione facebook. Dopo aver creato le applicazioni si possono collegare allo stesso bot, ma verrà utilizzato un diverso Token pagina nel caso in cui si stanno convalidando la firma nel codice e, probabilmente, si desidera utilizzare un URL diverso per ciascuno di essi.
Quando si chiama il Facebook Invia API, si passa un token di accesso scorrere le pagine del access_tokenparametro. È possibile specificare quale pagina dirigere il messaggio modificando questo token di accesso. Per conoscere quale pagina ha avviato il messaggio, è possibile accedere al idcampo della voce del post messaggio.
app.post('/webhook', (req, res) => {
const data = req.body
// Make sure this is a page subscription
if (data.object === 'page') {
// Iterate over each entry
data.entry.forEach((pageEntry) => {
// get the pageId
const pageId = pageEntry.id
...
Si sarebbe quindi bisogno di mantenere una pagina oggetto mappatura ids al token di accesso associato ad ogni pagina ID:
const accessTokens = {
myPageId1: 'myPageAccessToken1',
myPageId2: 'myPageAccessToken2',
}
Poi, quando si invia la risposta, basta specificare la pagina corrispondente access_token
const callSendAPI = (pageId, messageData) =>
rp({
uri: 'https://graph.facebook.com/v2.8/me/messages',
qs: { access_token: accessTokens[pageId] },
method: 'POST',
body: messageData,
json: true,
})
Il modo in cui vorrei gestire questa situazione è quello di implementare lo stesso backend Bot su un server diverso. Con questo, avrò la stessa fonte backend ma diversi URL webhook. Questo rende ogni Bot, però funzionalità simile, può essere isolato e mantenuto separatamente. Ciò è estremamente importante considerazione di progettazione per la costruzione di un Bot, perché può potenzialmente avere un sacco di conversazioni.
Per rispondere alla tua domanda, sì è possibile, semplicemente passando la pagina di token e validazione gettone per ogni richiesta e cambiarlo quando un conversare utente con l'altra pagina - ma io non lo consiglio facendo in questo modo.
Puoi iscriverti stessa applicazione a più pagine. Una volta che l'applicazione Facebook è sottoscritto il messaggero associato a tale applicazione sarebbe associata con la pagina.
https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps/ questa API viene utilizzata per aggiungere applicazione Facebook in una pagina
Scusate se la mia risposta è in ritardo
Si può benissimo gestire tutto il traffico pagina attraverso un solo backend bot
- Creare un app FB e selezionare prodotti come messaggero
- Aggiungere webook config che punta al bot
- Seleziona tutte le pagine che si desidera associare ad uno ad uno e mantenere l'accesso alla pagina di token a portata di mano.
- Andare a cercare la pagina id nella tua pagina fb e tenerlo a portata di mano
- Sia in costante o dB mantenere pagina token di accesso nei confronti della pagina che avevo
- Quando si riceve una richiamata su webhook si ottiene una voce di pagina e Id == page id
- In base a pagina avrei la logica di business
- Chiamare inviare api utilizzando token di accesso pagina che si vuole registrare againtst pagina id
Spero che questo ti aiuti













