【发布时间】:2014-05-22 11:43:34
【问题描述】:
随着从 Facebook Graph API v1.0 升级到 v2.0,Facebook 正在使用“应用范围内的用户 ID”,因此我无法再在我的应用中看到“原始”用户 ID。
我总是使用实时更新和图形 API 调用(例如“https://graph.facebook.com/{postId}/comments”)来分析应用所在 Facebook 页面上的用户活动。但由于这些数据包含原始用户 ID,我无法再将活动与我的注册用户匹配!
那么有没有办法从应用范围的用户 ID 中获取原始 Facebook 用户 ID?还是反过来?
编辑:
我最终使用此处提到的 API 方法为我的所有用户获取了应用范围的 ID:https://stackoverflow.com/a/29154912/3432305,并将它们与旧 ID 一起存储在我的数据库中。 然后,每当 RTU 到达时,对于“老用户”,我会检查哪个用户拥有这个应用范围的 ID 并处理更新。 至少 Facebook 在 API v1.0 被弃用前几天设法修复了 cmets (Get Facebook User ID from app-scoped User ID) 中提到的错误,因此对于我的应用程序的新用户来说,它就像一个魅力。到目前为止...
【问题讨论】:
-
你不应该有这个问题,因为 Graph API v2.0 是向后兼容的,如果用户之前已经授权了你的应用程序,那么你总是会得到这个用户的原始用户 ID。如果用户现在是新授权您的应用程序,那么您总是会得到 app_scoped_id 。 graph.facebook.com{postId}/cmets 可能会返回应用范围内的用户 ID 或原始用户 ID 取决于此用户是否为旧用户。
-
是的,我知道向后兼容性。实际问题是实时更新。那里我只有“原始”用户 ID...
-
这里有一个关于使用错误 ID 进行实时更新的开放错误:developers.facebook.com/bugs/744639905588610
-
我很想看到这个错误被修复,这会让我的事情变得更容易:)谢谢你的信息!
-
顺便提一下,facebook.com/app_scoped_user_id/264254410443692 这种类型的 url 适用于您想从应用范围内的用户 ID 访问用户配置文件的情况
标签: facebook facebook-graph-api facebook-apps