gpt4 book ai didi

node.js - 调用 facebook-messenger webhook 时如何修复 bot-connector 上的 HTTP-Status 401(未经授权)?

转载 作者:搜寻专家 更新时间:2023-11-01 00:03:48 24 4
gpt4 key购买 nike

设置机器人连接器(SAP Conversational AI:https://github.com/SAPConversationalAI/bot-connector)后,为 fb-messenger 创建 channel 并在 fb-app 中配置 webhook,我的机器人中不断出现 http-status 401(未授权) - 从我的 fb-messenger 发送消息时的连接器日志。

这是我到目前为止所做的:(我休假了本指南:https://github.com/SAPConversationalAI/bot-connector/wiki/Channel---Messenger)

  • 将 bot-connector 作为应用引擎服务部署到谷歌云以获取 [bot-connector url]

  • 创建机器人连接器:

    • 在 [bot-connector url]/v1/connectors 上发布正文:
    {"url":[bot-connector endpoint url]}
    • POST 响应:
    {
    "results": {
    "id": [connector id],
    "url": [bot-connector endpoint url],
    "isTyping": true,
    "conversations": [],
    "channels": []
    },
    "message": "Connector successfully created"
    }
  • 为 fb-messenger 创建 channel :

    • 在 [bot-connector url]/v1/connectors/[connector id]/channels 上发布正文:
    {
    "slug":"channel-messenger-srtbot-dev",
    "type":"messenger",
    "token":[fb-app secret],
    "apiKey":[fb-app api-key],
    "isActivated":true
    }
    • POST 响应:
    {
    "results": {
    "id": [connector id],
    "updatedAt": "2019-01-22T15:03:29.569Z",
    "createdAt": "2019-01-22T15:03:29.569Z",
    "webhook": "/v1/webhook/[channel id]",
    "slug": [name of my channel],
    "type": "messenger",
    "token": [fb-app secret],
    "apiKey": [fb-app api-key],
    "connector": [connector id],
    "locales": [],
    "openingType": "never",
    "hasGetStarted": false,
    "forwardConversationStart": false,
    "isActivated": true,
    "isErrored": false,
    "webhookToken": [fb webhook token]
    },
    "message": "Channel successfully created"
    }
  • 已配置 fb-messenger-webhook:(完成配置后,我在 bot-connector 日志中获得 http-status 200)

    • callback-url: [bot-connector url]/v1/webhook/[channel id]
    • token :[fb webhook token ]
  • 订阅 webhook 到我的 fb 页面

  • 在我的 fb-messenger 中发送了一条消息

预期结果:

  • 我在 fb-messenger 中发送消息后:
    • bot-connector 日志中的 http-status 200
    • 消息被转发到 [bot-connector endpoint url]
    • bot 回复消息(我在 fb-messenger 中得到答案)

实际结果:

  • 我在 fb-messenger 中发送消息后:
    • bot-connector 日志中的 http-status 401(未授权)(在第一条 fb-messenger 消息后大约每 60 秒出现一次)
    • 没有其他事情发生
    • 我在 fb-messenger 上没有得到回复

最佳答案

创建 channel 时,应将应用密码作为 apiKey 属性传递,将页面 token 作为 token 属性传递。创建 channel 时,它将具有 webhookToken 属性。在 Facebook 上设置 webhook 时,应将其用作验证 token 。

因此,创建 channel 时您应该传递的内容应该如下所示:

{
"slug":"channel-messenger-srtbot-dev",
"type":"messenger",
"token":[fb-page token],
"apiKey":[fb-app secret],
"isActivated":true
}

关于node.js - 调用 facebook-messenger webhook 时如何修复 bot-connector 上的 HTTP-Status 401(未经授权)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54323192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com