我们在 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
答案 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/