【发布时间】:2011-09-09 05:32:51
【问题描述】:
大约 2% 的时间,用户授权我的 Facebook 应用并使用有效的访问令牌,我调用 Facebook 的 Graph API 只是为了取回值“false”而不是用户信息的 JSON 表示。例如:
https://graph.facebook.com/{user_id}?access_token={user_access_token}
--> returns "false"
我自己似乎无法重现该问题。我的问题可能与这个答案有关: http://facebook.stackoverflow.com/questions/5085957/facebook-graph-api-returns-false-for-page-accounts/6595465#6595465
但正如上面的答案所示,当我作为主页登录时,我无法访问我的应用程序,因此我无法验证我的问题是否相同。
有什么建议吗?
更新(2011-09-29)
事实证明,只要用户没有完整的个人资料,就会出现此问题。您可以通过先退出 Facebook 然后在此处创建 Facebook 页面来重现此问题:
http://www.facebook.com/pages/create.php
在页面创建过程中,Facebook 会要求您使用现有帐户登录或创建一个新帐户。如果您创建一个新帐户,Facebook 将为您创建一个用户帐户,但该用户帐户将没有完整的个人资料。因此,Facebook 的 API 没有提供他们所拥有的有关用户的信息(即它在注册过程中收集的信息),而是返回 false。一旦用户“创建个人资料”,Facebook 的 API 就会返回正确的用户图表。
【问题讨论】:
-
我在拨打
https://graph.facebook.com/me?access_token=foo时看到过这个问题,但只是偶尔。我无法使用您描述的自动创建的用户方法来重现它。由于发生这种情况时我没有 facebook 用户 ID,因此不一定容易弄清楚如何联系用户以查看他们的 facebook 帐户是否处于某种奇怪的状态。我希望有人能对此有所了解。 -
您是否使用 Facebook 所需的最少信息创建了用户帐户?
-
IIRC,我唯一输入的是一个电子邮件地址。
标签: facebook api facebook-graph-api