首页 文章

Facebook Messenger平台设置

提问于
浏览
1

我有一个关于Facebook Messenger平台中“bot”设置的一般性问题 . 如果我理解正确的架构,我可以创建一个App作为开发人员添加Messenger功能并将1页与Messenger功能相关联 . 这是否意味着每个页面都需要一个应用程序?或者我可以创建一个“机器人后端”来为不同用户提供多个/不同的页面?

3 回答

  • 0

    是的,您可以让一个机器人服务多个页面 . 您只需为API调用中的不同页面设置< token >,即可为页面设置here . 来自documentation

    图谱API需要页面访问令牌来管理Facebook页面 . 它们对于每个页面,管理员和应用程序都是唯一的,并且具有到期时间 .

  • 0

    Fritak是对的 . 您可以将一个应用程序用于多个页面 . 对于每个页面,您必须将应用程序订阅到该页面,并专门为该页面生成页面访问令牌 . 在您的webhook中,您必须区分特定页面的回调 .

  • 4

    当您收到请求时,您需要将传入的页面ID映射到访问令牌,如下面的答案所述:How can I use the same bot on multiple facebook pages using bot framework

    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
               ...
    
    const accessTokens = {
        myPageId1: 'myPageAccessToken1',
        myPageId2: 'myPageAccessToken2',
    }
    
    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,
         })
    

相关问题