正如你们许多人所知,当用户登录我们的某个Facebook应用程序时,我们会获得一些数据,并且有一个仅适用于App世界的用户ID。
如果我们有,我们想要用来与用户交互的机器人,我们需要一个与该机器人相关联的页面所独有的ID。为了得到它,我一直在读这个:
https://developers.facebook.com/docs/messenger-platform/identity/customer-matching
显然,我们希望在用户登录后立即向用户发送消息,而无需事先进行交互。我们尝试使用Graph API:
<user-app-scoped-id>?fields=name,age_range,ids_for_apps,ids_for_pages&access_token=<user-access-token>
我们得到这样的东西:
{
"name": "xxxx",
"ids_for_apps": {
"data": [
{
"id": "1006086616200000",
"app": {
"link": "http://public-link/",
"name": "ChatBotTest",
"id": "1171064089667000"
}
}
],
"paging": {
"cursors": {
"before": "MTE3MTA2NDA4OTY2NTE3",
"after": "MTE3MTA2NDA4OTY2NTE3"
}
}
},
"ids_for_pages": {
"data": [
{
"id": "1599402636786000",
"page": {
"name": "TuHuella",
"id": "1931527867112000"
}
}
],
"paging": {
"cursors": {
"before": "MTkzMTUyNzg2NzExMjU1MAZDZD",
"after": "MTkzMTUyNzg2NzExMjU1MAZDZD"
}
}
},
"id": "1006086616200000"
}
最后一部分&#34; ids_for_pages&#34;只有在用户向我们的页面写了一些东西时才会出现,所以我们似乎需要这种互动。
有人知道避免这种情况的方法吗?也许我们可以通过编程方式从登录用户发送消息到我们的页面,以便我们进行这种交互?
非常感谢,
里卡多
答案 0 :(得分:0)
我想我明白了。
https://developers.facebook.com/docs/messenger-platform/discovery/checkbox-plugin
请参阅此处的示例:
就是这样。我只需要复选框Facebook插件。如果用户已经登录(肯定会是这样),那么已经选中了复选框,点击任何按钮后,我们就可以触发从我们的服务器发送的消息。
如果用户未登录,则不会选中该复选框,如果用户点击该复选框,则会提示登录框并检查复选框是否成功。
纯