Facebook API {"error":{"message":"(#100) 未找到匹配的用户","type":"OAuthException" 复选框插件
Facebook API {"error":{"message":"(#100) No matching user found","type":"OAuthException" Checkbox Plugin
我正在尝试使用复选框插件的功能。我设法使复选框呈现。几天前,我成功地向用户发送了一些基本文本'Hello World'。但是现在我无法发送任何东西。每当我尝试发送给用户时,我都会收到此错误:
{"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"HCZPBkofiz9"}}
我什至尝试使用 cURL,但没有成功,仍然是同样的错误。
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"user_ref":"<UNIQUE_REF_PARAM>"
},
"message": {
"text":"hello, world!"
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"
我所做的是:
- 已从页面卸载应用程序。
- Select 页面再次生成新的 PAGE_ACCESS_TOKEN.
- 订阅消息,messaging_postbacks,messaging_optins 网页挂钩。
- 在 .env 中设置新令牌
- 通过复选框插件保存新的user_ref。
- 使用新的 user_ref 试试 cURL,运气不好。
我可以使用收件人 senderID 发送,但不能使用复选框插件 user_ref。
非常感谢任何帮助:)
我找到了解决方案。事实证明我对所有访问令牌感到困惑,因为它们几乎都相同但实际上并非如此。为了获得正确的访问令牌,我使用 Graph API Explorer.
步骤:
在访问令牌部分:
- Facebook 应用程序,我 select 我用于项目的应用程序。
- 用户或页面,我将其更改为我的页面以获取页面访问令牌。它将自动生成页面访问令牌。
- 我select我需要的权限。对于我的项目,manage_pages 和 pages_messaging 是至关重要的。
注意:如果点击Get Access Token,会生成一个新的,实际上是不一样的。
获得 select 权限后,为了测试生成的访问令牌,我执行以下步骤:
在图表上 API 浏览器:
- 将方法从 GET 更改为 POST。这将使您可以在 Params 和 JSON.
中编写
- 来自 this 文档中 6 号的 cURL 示例。仅复制 JSON 部分并放入 JSON 字段。
将 <UNIQUE_REF_PARAM>
更改为我保存在数据库中的那个:
{
"recipient": {
"user_ref": "xplynagfqasoiuqnwyepnyiqe"
},
"message": {
"text": "hello, world!"
}
}
因为 cURL 示例发送到
https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>
。
所以我将提交更改为POST->/v3.1->/me/messages
- 提交 POST.
成功后,发送 API 将以 message_id:
响应
{
"message_id": "mid.1456970487936:c34767dfe57ee6e339"
}
这意味着您可以使用右侧生成的访问令牌作为您的 PAGE_ACCESS_TOKEN。
我正在尝试使用复选框插件的功能。我设法使复选框呈现。几天前,我成功地向用户发送了一些基本文本'Hello World'。但是现在我无法发送任何东西。每当我尝试发送给用户时,我都会收到此错误:
{"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"HCZPBkofiz9"}}
我什至尝试使用 cURL,但没有成功,仍然是同样的错误。
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"user_ref":"<UNIQUE_REF_PARAM>"
},
"message": {
"text":"hello, world!"
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"
我所做的是:
- 已从页面卸载应用程序。
- Select 页面再次生成新的 PAGE_ACCESS_TOKEN.
- 订阅消息,messaging_postbacks,messaging_optins 网页挂钩。
- 在 .env 中设置新令牌
- 通过复选框插件保存新的user_ref。
- 使用新的 user_ref 试试 cURL,运气不好。
我可以使用收件人 senderID 发送,但不能使用复选框插件 user_ref。
非常感谢任何帮助:)
我找到了解决方案。事实证明我对所有访问令牌感到困惑,因为它们几乎都相同但实际上并非如此。为了获得正确的访问令牌,我使用 Graph API Explorer.
步骤:
在访问令牌部分:
- Facebook 应用程序,我 select 我用于项目的应用程序。
- 用户或页面,我将其更改为我的页面以获取页面访问令牌。它将自动生成页面访问令牌。
- 我select我需要的权限。对于我的项目,manage_pages 和 pages_messaging 是至关重要的。
注意:如果点击Get Access Token,会生成一个新的,实际上是不一样的。
获得 select 权限后,为了测试生成的访问令牌,我执行以下步骤:
在图表上 API 浏览器:
- 将方法从 GET 更改为 POST。这将使您可以在 Params 和 JSON. 中编写
- 来自 this 文档中 6 号的 cURL 示例。仅复制 JSON 部分并放入 JSON 字段。
将
<UNIQUE_REF_PARAM>
更改为我保存在数据库中的那个:{ "recipient": { "user_ref": "xplynagfqasoiuqnwyepnyiqe" }, "message": { "text": "hello, world!" } }
因为 cURL 示例发送到
https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>
。
所以我将提交更改为POST->/v3.1->/me/messages
- 提交 POST.
成功后,发送 API 将以 message_id:
响应{
"message_id": "mid.1456970487936:c34767dfe57ee6e339"
}
这意味着您可以使用右侧生成的访问令牌作为您的 PAGE_ACCESS_TOKEN。