1

我正在尝试构建一个信使机器人。我验证了一个令牌并将一个页面链接到机器人应用程序。现在的问题是,每当我向页面发送消息时,服务器都会收到带有“LIKE”消息但没有消息文本的 JSON 响应。

{'object': 'page',
  'entry': 
     [{'time': 1490417055475,
       'messaging': 
         [{'message': {'mid': 'mid.$cAALh2oap5fFhMxj3m1bAdOuaPgvd', 'sticker_id': 369239263222822, 
           'attachments': 
                  [{'payload': {'sticker_id': 369239263222822, 'url': 'https://scontent.xx.fbcdn.net/v/t39.1997-6/851557_369239266556155_759568595_n.png?_nc_ad=z-m&oh=65f8806bcfe45834eb50b60f51cb352d&oe=596142DC'}, 'type': 'image'}], 'seq': 57831},
          'sender': {'id': '1311257182278227'}, 'recipient': {'id': '768737829931919'}, 'timestamp': 1490384301979}], 'id': '768737829931919'}]}

以前有人经历过吗?由于 Messenger API 的这种行为,我完全被卡住了。

4

1 回答 1

2

我要在这里冒险,因为问题中没有太多信息。

该消息不是“LIKE”消息。它是由某人 (OP) 在聊天输入区域中单击、轻击或单击按住/轻击按住竖起大拇指按钮创建的图像消息。

竖起大拇指按钮

可能发生的情况是,您最初向聊天机器人发送了一个赞,而您的应用程序以200HTTP 响应以外的方式进行了回答。发生这种情况时,facebook 会等待并在大约一分钟内发送响应(在本例中为竖起大拇指)。如果有另一个无200响应,它将重复。

如果我是对的,一个解决方案就是吞下错误(如果你的编程语言有异常,只需救援并继续前进)并以 200 响应。
这应该让 Facebook 认为你很好,他们将在积极响应后发送所有备份的消息。然后删除错误吞咽,您应该会收到从 Facebook 发送的消息,除非您再次出错。

于 2017-03-27T12:28:06.860 回答