当前位置:  开发笔记 > 前端 > 正文

如何使用bot框架在多个facebook页面上使用相同的bot

如何解决《如何使用bot框架在多个facebook页面上使用相同的bot》经验,为你挑选了2个好方法。

我有几个facebook页面,我想在每个页面上运行相同的机器人.我正在使用机器人框架,现在一切都适用于一页.如何与多个页面关联?



1> Danny Sulliv..:

当您调用Facebook Send API时,您将通过access_token参数传递页面访问令牌.您可以通过修改此访问令牌来指定指向邮件的页面.要知道哪个页面发起了消息,您可以访问id消息发布的条目字段.

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
           ...

然后,您需要维护一个对象映射页面ID到与每个页面ID关联的访问令牌:

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

然后在发送响应时,只需指定相应的页面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,
     })



2> 小智..:

对不起,我的答案来晚了

您只需一个机器人后端即可很好地处理所有页面流量

    创建一个fb应用程序并选择产品作为Messenger

    添加指向您的机器人的Webook配置

    选择要一一关联的所有页面,并保持页面访问令牌方便。

    在您的fb页面中搜索页面ID,并方便使用

    以常数或dB维护我要访问的页面的页面访问令牌

    当您在Webhook上收到回调时,您将获得一个页面条目和Id ==页面ID

    根据页面,我将掌握您的业务逻辑

    使用您再次存储的页面访问令牌调用发送API

希望这可以帮助

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有