Introduction 我有一个 Facebook APP ,它已经 published 并被批准访问 manage_pages
和 pages_messaging
权限 . Facebook Login and Messenger 也已安装 . 我也有 Webhook 套装,效果很好 .
My objective 我想让我的用户轻松地在应用程序中创建和发布机器人,就像Chatfuel所做的那样 . 用户使用Facebook登录,创建新的机器人,链接到页面并自动使用机器人 . 用户不会参与机器人发布过程的手动配置,而只是简单地指向他们希望机器人出现的页面 .
What I have done so far
-
使用Facebook登录用户并使用
app_token
收集他们的access_token
和user_id
-
使用令牌,检索用户拥有的页面
GRAPH_API_URL/me/accounts?access_token=USER_ACCESS_TOKEN
-
从上面得到的结果,我'm able to display the pages to the users for them to choose where to publish the bot. I' m能够获得所选的
PAGE_ID
和PAGE_ACCESS_TOKEN
用于下一步 -
然后我发送
POST
请求以将应用订阅到页面 . 请记住,应用程序与他们用于登录的应用程序相同,并根据我定义的范围批准所需的权限('email', 'public_profile', 'manage_pages', 'publish_pages', 'pages_show_list'
)
将应用程序订阅到页面,我发送POST请求到:
https://graph.facebook.com/v2.10/PAGE_ID/subscribed_apps?access_token=PAGE_ACCESS_TOKEN
我得到的回应是成功的:
{"success": true}
问题使用我拥有该过程的页面运行良好,我可以与机器人聊天,从应用仪表板我可以清楚地看到页面已添加到订阅列表中 . 我的用户可以完成所有过程,并且从日志中,他们也获得成功响应,但他们的页面没有添加,他们无法与机器人聊天 . 为了验证他们的订阅,我发送的GET请求https://graph.facebook.com/v2.10/PAGE_ID/subscribed_apps?access_token=PAGE_ACCESS_TOKEN和如下面的例子中的响应是肯定的:
{
"data": [
{
"link": "http://mywebsite.com/",
"name": "MyApp",
"id": "1438393....."
}
]
}
从突出显示的步骤,我可能会遗漏任何东西?我怎样才能正确完成上述工作?提前感谢您的意见 .