Ik heb een aantal Facebook-pagina's en ik zou graag hetzelfde bot op elke pagina uit te voeren. Ik gebruik de bot kader en alles werkt perfect voor één pagina nu. Hoe kan ik associëren met meerdere pagina's?
Hoe kan ik gebruik maken van dezelfde bot op meerdere Facebook pagina's met behulp bot framework
Elke pagina heeft zijn eigen Facebook applicatie. Zodra u uw toepassingen zijn gemaakt, kunt u ze koppelen aan dezelfde bot, maar ze zullen een andere pagina token in het geval dat je de handtekening valideren in uw code en waarschijnlijk wilt u een andere URL te gebruiken voor elk van hen te gebruiken.
Wanneer u bellen met de Facebook Pagina API, passeert u een pagina access token door de access_tokenparameter. U kunt aangeven welke pagina om uw bericht sturen door het wijzigen van dit access token. Om te weten welke pagina de boodschap geïnitieerd, krijgt u toegang tot het idgebied van de ingang van het bericht post.
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
...
Je zou dan moeten een mapping object pagina ids te behouden om de toegang token geassocieerd met elke pagina id:
const accessTokens = {
myPageId1: 'myPageAccessToken1',
myPageId2: 'myPageAccessToken2',
}
Dan bij het verzenden van het antwoord, maar geeft u de bijbehorende pagina 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,
})
De manier waarop ik zou dit te behandelen is om dezelfde Bot backend in te zetten op een andere server. Door deze, zal ik dezelfde backend bron maar verschillende webhook URL. Dit maakt elke Bot echter dezelfde functionaliteit, kan worden geïsoleerd en apart gehouden. Dit is uiterst belangrijk ontwerp overweging bij het bouwen van een Bot, omdat het potentieel kan hebben veel gesprekken.
Om uw vraag te beantwoorden, ja het is mogelijk door gewoon het passeren van de pagina token en validatie token voor elk verzoek en te wijzigen wanneer een gebruiker praten met de andere pagina - maar ik denk niet aanraden om het op deze manier.
U kunt dezelfde app abonneren op meerdere pagina's. Zodra de Facebook-app wordt onderschreven de boodschapper in verband met die app gekoppeld zou worden aan de pagina.
https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps/ deze API wordt gebruikt om Facebook-applicatie toe te voegen aan een pagina
Sorry als mijn antwoord is te laat
Je kan heel goed omgaan met al uw pagina verkeer via één bot backend
- Maak een fb app en selecteer product als boodschapper
- Voeg webook config die naar uw bot
- Selecteer alle pagina's die u wilt een voor een associëren En houd de pagina access token handig.
- Ga en zoek pagina id in uw fb pagina en houd hem bij de hand
- Ofwel in constante of dB te handhaven pagina access token tegen de pagina Ik zou
- Als je een terugbelverzoek op webhook u een startpagina en Id == pagina id krijgen
- Op basis van de pagina zou ik uw business logica hebben
- Bel sturen api gebruiken pagina access token die u againtst de pagina id hebt opgeslagen
Ik hoop dat dit helpt













