如何使用页面范围的ID PSID生成用于在Facebook页面中与用户聊天的URL

时间:2019-07-14 18:46:38

标签: facebook facebook-messenger facebook-messenger-bot facebook-chatbot

我们在 Facebook Messenger Platform 上拥有一个聊天机器人,我们想为管理员提供一个与特定用户聊天的URL,例如:https://facebook.com/<page-id>/u/<user-psid>

当前在Facebook页面中打开聊天线程时,URL为https://www.facebook.com/<page-id>/inbox/?mailbox_id=<page-id>&selected_item_id=<user-id>

当我们尝试用 PSID 替换user-id时,此方法不起作用。

有没有办法做到这一点?我们只想将URL重定向到与已经与该机器人进行过对话的用户聊天的Facebook页面上,我们就拥有他的/ strong

2 个答案:

答案 0 :(得分:2)

鉴于PSID,您可以使用Page对话API查询Page的对话。


GET /v7.0/{page-id}/conversations?user_id={PSID}
Host: graph.facebook.com

此API返回可用于在浏览器中打开的Page对话和链接:

{
  "data": [
    {
      "id": "t_10523963545045c18",
      "link": "/My-PAGEXXX/inbox/119226229829XXXX/",
      "updated_time": "2020-06-21T23:XX:XX+0000"
    }
  ]
}

参考:https://developers.facebook.com/docs/graph-api/reference/page/conversations/

答案 1 :(得分:0)

您不能使用PSID进入收件箱。您将需要ASID。您可以通过以下过程从PSID获取ASID:https://developers.facebook.com/docs/messenger-platform/identity/id-matching/。之后,您将需要read_page_mailboxes权限。它将于2019年12月起弃用。在此处阅读:https://developers.facebook.com/docs/facebook-login/permissions/