3

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

这是我到目前为止所做的:(我将本指南放在一边:https ://github.com/SAPConversationalAI/bot-connector/wiki/Channel---Messenger )

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

  • 创建机器人连接器:

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

    • 在 [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
    }
    
    • 发布响应:
    {
       "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]
    • 令牌:[fb webhook 令牌]
  • 订阅了我的 fb 页面的 webhook

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

预期成绩:

  • 在我在 fb-messenger 中发送消息后:
    • bot-connector 日志中的 http-status 200
    • 消息被转发到 [bot-connector 端点 url]
    • 机器人响应消息(我在 fb-messenger 中得到答案)

实际结果:

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

1 回答 1

0

创建频道时,应将应用机密作为 apiKey 属性传递,将页面令牌作为令牌属性传递。创建通道时,它将具有 webhookToken 属性。在 Facebook 上设置 webhook 时,这应该用作验证令牌。

因此,您应该传递来创建通道的内容应该如下所示:

{
    "slug":"channel-messenger-srtbot-dev",
    "type":"messenger",
    "token":[fb-page token],
    "apiKey":[fb-app secret],
    "isActivated":true
}
于 2019-01-24T10:37:24.667 回答