【发布时间】:2023-04-05 02:30:02
【问题描述】:
当我从https://developers.facebook.com/docs/messenger-platform/send-api-reference 执行以下请求时
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"text":"hello, world!"
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"
我收到此错误:
Graph returned an error: (#100) Parameter recipient[id]: Invalid id: "the id of the recipient"
文档指出:
ID 必须是通过 Messenger 入口点或通过 Messenger webhook 检索到的 ID(例如,某人可能在 Messenger 中发现您的业务并从那里开始对话。这些 ID 是页面范围的 ID (PSID) 。这意味着给定页面的 ID 是唯一的。如果您有现有的 Facebook 登录集成,则用户 ID 是应用范围的,并且不适用于 Messenger 平台。
我不明白从哪里获取 id。有人可以解释如何获取要在 API 中使用的 id 吗?
【问题讨论】:
-
你为用户使用了什么ID?你到底是怎么得到的?您知道只有在用户开始使用您的机器人后才能获得它,对吧?
-
首先设置您的机器人,然后向您的 Facebook 用户发送消息。 facebook为此提供了示例代码,只需查看文档即可。只有当用户与您的机器人交互时,您才会获得一个 id。用示例代码做一些测试,你会看到。
-
当用户向您发送消息时,您将获得页面范围内的用户 ID。你不能只给随机的人发消息
标签: php facebook api facebook-graph-api curl