How can I use the same bot on multiple facebook pages using bot framework

前端 未结 5 2129
失恋的感觉
失恋的感觉 2020-12-16 07:12

I have several facebook pages and I would like to run the same bot on each page. I am using the bot framework and everything works perfectly for one page now. How do I assoc

5条回答
  •  爱一瞬间的悲伤
    2020-12-16 07:59

    When you call the Facebook Send API, you pass a page access token through the access_token parameter. You can specify which page to direct your message by modifying this access token. To know which page initiated the message, you can access the id field of the entry of the message 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
               ...
    

    You would then need to maintain an object mapping page ids to the access token associated with each page id:

    const accessTokens = {
        myPageId1: 'myPageAccessToken1',
        myPageId2: 'myPageAccessToken2',
    }
    

    Then when sending the response, just specify the corresponding page 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,
         })
    

提交回复
热议问题