2017-09-27 153 views
0

许多人已经知道,当用户登录我们的某个Facebook应用程序时,我们得到一些数据,并且有一个用户ID只适用于App世界。任何方式来在Facebook上从app-scoped-id获取page-scoped-id?

如果我们有,比方说,我们想要使用一个bot来与用户交互,我们需要一个ID,该ID是与该bot相关的页面唯一的。为了得到它,我一直在读这一点:

https://developers.facebook.com/docs/messenger-platform/identity/customer-matching

显然,我们想尽快将消息发送给用户,因为他/她登录了,没有以前的互动。我们尝试用图形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" 
} 

最后一部分“ids_for_pages”,只有当用户写的东西给我们的页面出现,如此看来,我们需要这种互动。

有人知道避免这种情况的方法吗?也许我们可以以编程方式从登录用户发送消息到我们的页面,以便我们获得这种交互?

非常感谢,

里卡多

+0

额外信息:只喜欢页面是不够的,只适用于发送的消息。 – rmartrenado

+1

我不是很确定你在问什么,分别。你的问题是什么。您的机器人无法启动与用户的初始交互,用户需要这样做。 – CBroe

+0

那么,你是说用户匹配工具只在用户开始交互之后才起作用? – rmartrenado

回答

0

我想我得到了它。

https://developers.facebook.com/docs/messenger-platform/discovery/checkbox-plugin

在这里看到一个例子:

​​

这是它。我需要的是复选框Facebook插件。如果用户已经登录(肯定会是),那么复选框已经被选中,点击任何按钮后,我们可以触发从我们的服务器发送的消息。

如果用户没有登录,那么复选框不会被选中,如果用户点击它,它会提示一个登录框,如果成功则检查复选框。

整洁。

相关问题