facebook graph api不返回所有数据

Posted

技术标签:

【中文标题】facebook graph api不返回所有数据【英文标题】:facebook graph api not returning all data 【发布时间】:2014-05-16 21:52:44 【问题描述】:

我正在使用 facebook graph api V2.0 对我的应用程序中的用户进行身份验证,该应用程序目前正在开发中。 请求的权限如下:“public_profile”、“user_friends”、“email” 该应用程序需要用户的生日和电子邮件。 当开发者用户登录时,对facebook graph api 的调用返回所有需要的数据,但是当测试者用户登录时,电子邮件、生日等数据没有返回。 两个用户(开发人员和测试人员)都提供了登录时请求的所有权限。 有这种奇怪行为的人吗? 谢谢

更新: 请求权限:@"public_profile"、@"email"、@"user_birthday"、@"user_friends"

现在 api 正在返回生日但不是电子邮件。 只需检查访问令牌并获得所需的所有权限。 该应用正在调用:

[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) 
 ---- code here ---
];

【问题讨论】:

如果不先请求相应的权限,你是不会得到生日的…… 检查您使用的访问令牌是否有权限。如果确实如此,您必须告诉我们您要求使用该访问令牌做什么 刚刚用更多信息更新了问题。 【参考方案1】:

首先,对于两个用户,请致电/me/permissions 并确保列出您期望的所有权限。

其次,并非所有用户都有电子邮件地址。在某些情况下,用户可能已经通过手机注册了 Facebook,因此没有输入电子邮件,或者没有验证电子邮件地址。

您应该防御性地编码,偶尔期望这些字段可能为空。

【讨论】:

以上是关于facebook graph api不返回所有数据的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Graph API返回页面事件的空数据响应[重复]

Facebook Graph API 不返回位置,为啥?

Facebook Graph API 我/朋友啥都不返回

Facebook Graph API 不返回电子邮件

Facebook graph api v2.4 不返回生日

Facebook Graph API 不返回每个朋友的分数