为什么一些Facebook用户ID会随机抛出一个图形异常?

为什么一些Facebook用户ID会随机抛出一个图形异常?,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我使用Facebook graph API上的公开数据获取Facebook用户ID。当我查询一些用户时,我会得到正常的公共信息。但是,当我对不同的用户ID使用相同的查询时,它返回以下错误: "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api", "type": "GraphMethodException", "co

我使用Facebook graph API上的公开数据获取Facebook用户ID。当我查询一些用户时,我会得到正常的公共信息。但是,当我对不同的用户ID使用相同的查询时,它返回以下错误:

"Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api", 
"type": "GraphMethodException", 
"code": 100
我收集了一些例子:

随机返回错误的用户:10202985968284866、10203670229904527、10201183468423349

工作正常的用户:535548246581477、10153112866849029、618670188244877和934186386626804


你知道为什么吗?

在v1.0的简单时代,当Graph API报告用户时,它提供的id值是该Facebook用户的全局id号。这些值是“全局”的,因为它们可以在客户端应用程序之间共享。在v2.0中,/user端点及其子节点提供的所有用户数据都使用特定于应用程序的ID。这些ID不仅是Facebook用户的唯一标识符,也是客户端用户对的唯一标识符。这意味着您不能在应用程序之间共享用户ID。尽管Facebook确实提供了一个API,用于在属于单个组织的应用程序之间进行映射

这一事实的一个重要后果是,您用于开发的Facebook应用程序识别的用户ID与您的生产应用程序识别的用户ID不匹配。因此,如果在生产环境中将用户的Facebook ID存储在数据库中,则无法将该数据库中的用户与开发中API返回的数据进行匹配。真烦人


这是没有办法的。您只需从开发应用程序中查询一些朋友,并手动覆盖他们在开发数据库中存储的Facebook ID。这将为您提供一些可供开发的示例。

您使用的是哪种API版本?我遇到了一些可以在站点上查看但无法通过API查询的ID。Facebook团队的人可能会有一个合乎逻辑的答案,比如@wizkidLatest version 2.2——这甚至发生在Graph API Explorer中。用户ID来自哪里?如果它们不是由同一个应用程序创建的,您尝试请求的信息将产生错误。此外,您使用的是用户还是应用程序访问令牌?正如Tobi提到的,您不能在多个应用程序中使用特定的用户id。所有ID均基于每个应用程序生成,仅适用于特定应用程序。图形资源管理器中的ID无法在其外部工作。