Am mai multe pagini de Facebook și aș dori să ruleze același bot pe fiecare pagină. Sunt folosind cadrul bot și totul funcționează perfect pentru o singură pagină acum. Cum pot asocia cu mai multe pagini?
Cum pot folosi același bot pe mai multe pagini facebook folosind bot-cadru
Fiecare pagină are nevoie de propria aplicație Facebook. După ce ați creat aplicațiile dvs. le puteți lega la același bot, dar ei vor folosi o pagină de jeton diferită în cazul în care validează semnătura în codul dvs. și probabil că doriți să utilizați un URL diferit pentru fiecare dintre ele.
Când apelați Facebook Trimite API, trece un jeton de acces pagină prin access_tokenparametrul. Puteți specifica ce pagină pentru a direcționa mesajul dvs. prin modificarea acestui jeton de acces. Pentru a ști care pagina a inițiat mesajul, puteți accesa iddomeniul înscrierii postului mesajului.
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
...
Tu ar trebui apoi să mențină o pagină de cartografiere obiect ID-uri de la token-ul de acces asociat cu fiecare pagină id:
const accessTokens = {
myPageId1: 'myPageAccessToken1',
myPageId2: 'myPageAccessToken2',
}
Apoi, la trimiterea răspunsului, specificați doar pagina ACCESS_TOKEN corespunzătoare
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,
})
Modul în care am să se ocupe de acest lucru este de a implementa același backend Bot pe un server diferit. Prin aceasta, voi avea aceeași sursă de backend, dar URL-ul webhook diferit. Acest lucru face ca fiecare Bot, deși funcționalitate similară, pot fi izolate și menținute separat. Acest lucru este extrem de importante în proiectare atunci când construirea unui bot, deoarece acesta poate avea potențial o mulțime de conversații.
Pentru a răspunde la întrebarea dumneavoastră, da, este posibil doar prin trecerea paginii de jetoane și de validare jetonul pentru fiecare cerere și să o schimbați atunci când un utilizator conversa cu cealaltă pagină - dar eu nu recomand o fac în acest fel.
Vă puteți înscrie aceeași aplicație la mai multe pagini. După ce aplicația Facebook este abonat mesagerul asociat cu aplicația respectivă ar fi asociată cu pagina.
https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps/ acest api este folosit pentru a adăuga aplicații facebook la o pagină
Ne pare rău dacă răspunsul meu este târziu
Puteți descurca foarte bine tot traficul pagina prin intermediul unui singur backend bot
- Creează o aplicație fb și selectați produsul ca mesager
- Adăugați webook config ce indică spre bot
- Selectați toate paginile pe care doriți să le asociați unul câte unul și să păstreze accesul paginii jeton la îndemână.
- Du-te și caută pagina id din pagina fb și păstrați-l la îndemână
- Fie în dB constantă sau să mențină pagina jeton de acces pe pagina I-aș
- Atunci când primiți un apel invers pe webhook veți obține o intrare de pagină și ID-ul == pagina id
- Bazat pe pagina mi-ar avea logica de afaceri
- Apel trimite api folosind jeton de acces la pagina pe care le-ați stocat againtst pagina id-
Sper că acest lucru vă ajută













