nodejs facebook messenger bot admin或编辑器ID而不是页面ID

问题描述 投票:1回答:2

我正在使用bottender和nodejs来创建一个bot messenger,但是当我尝试在我的页面中检索(管理员或编辑器)的用户ID以了解谁将响应发送给页面中的用户时,我遇到了问题。这就是我得到的:

{ sender: { id: '868761280555360' },
  recipient: { id: '787381751469' },
  timestamp: 1515780811774,
  message: 
   { is_echo: true,
     mid: 'mid.$cAAUU4wBJk8VnHNjz_lg65PqOOZXZ',
     seq: 361916,
     text: 'hi' } }

sender:是页面的id,而不是admin id。例如。

收件人:联系页面的用户ID。

任何人都知道如何获取页面的发件人ID(管理员或编辑器)而不是使用bottender的页面ID。

javascript node.js bots facebook-messenger bottender
2个回答
2
投票

消息是从实际页面发送的。即使有管理员或编辑发送了该消息,他也在使用该页面的标识,因此无法检测到谁实际发送了该消息。

您可以告诉管理员或编辑者在邮件中使用签名。拆分邮件并获取管理员的姓名。


1
投票

你将无法在页面后面找到发件人,正如facebook官方文档所述,这是一个接收短信的webhook事件示例:

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<PAGE_ID>"
  },
  "timestamp":1458692752478,
  "message":{
    "mid":"mid.1457764197618:41d102a3e1ae206a38",
    "text":"hello, world!",
    "quick_reply": {
      "payload": "<DEVELOPER_DEFINED_PAYLOAD>"
    }
  }
}   

参考: https://developers.facebook.com/docs/messenger-platform/reference/webhook-events/messages https://developers.facebook.com/docs/messenger-platform/reference/webhook-events/message-echoes

顺便说一下,你可以随时检查使用bottender时收到的rawEvent和context.event.rawEvent。有时会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.