我从2013年开始使用facebook connect进行注册和登录过程。 我已经在网络和iOS应用程序中实现了它。
我使用Canonical ID识别用户。手段 - 当注册时,我已将facebook Canonical ID保存在我的数据库中。然后我会将这个保存的Canonical ID与来自facebook的Canonical ID返回进行比较以进行登录。
我已在网络和iOS中使用最新版本升级了SDK。我没有问题。我从网络和iOS获得了Canonical ID。
但问题出在Android App
现在我正在为我的应用程序创建一个新的Android应用程序。对于Facebook连接,我使用最新的Android SDK和iOS和Web中使用的相同的Facebook应用程序凭据。 但是此SDK返回范围ID而不是Canonical ID。因此,我无法识别已使用web / iOS facebook注册在我的应用程序中注册的用户。很多用户在我的应用程序中使用facebook连接注册并保存了Canonical ID来识别这些用户。
有人知道,如何使用最新的Android SDK获取Canonical ID而不是Scope ID?
答案 0 :(得分:6)
如果您的Android应用程序使用版本2.x的最新SDK并且返回同一应用程序的规范ID而不是应用程序作用域ID,那么您应该在https://developers.facebook.com/bugs处提交错误。< / p>
如果Android应用程序是一个单独的应用程序,那么它将向您的其他应用程序返回一个不同的App Scoped ID。您可以通过将应用程序范围ID添加到业务管理器并使用业务映射API来映射应用程序范围ID。如何做到这一点在Facebook上有记录: https://developers.facebook.com/docs/apps/for-business