使用FQL获取用户电子邮件

时间:2014-12-31 09:27:17

标签: android facebook

我使用以下FQL从Facebook获得生日(我知道teh api已经改变了)但是我现在想继续这样做:

String fqlQuery = "{" +
                        "'friends':'SELECT uid2 FROM friend WHERE uid1 = me()'," +
                        "'friendinfo':'SELECT uid, name,pic_square, birthday FROM user WHERE uid IN" +
                        "(SELECT uid2 FROM #friends) AND birthday'"+
                        "}";

如何修改此查询以便我可以获取用户电子邮件ID(而不是朋友)

2 个答案:

答案 0 :(得分:1)

https://developers.facebook.com/docs/graph-api/reference/v2.2/user

使用“email”权限授权用户,并使用Graph API调用/me以获取用户的电子邮件。使用Graph API更容易,忘了FQL。 Android的代码示例可以在我发布的参考页面的“阅读”部分找到。

顺便说一句,如果你想收到朋友的电子邮件:这根本不可能,即使是旧的API。您不会以任何方式使用这些电子邮件,因此收到朋友的电子邮件毫无意义。

答案 1 :(得分:0)

我想知道有多少"朋友的生日提醒"应用程序在那里... @luschn是对的。我不明白你想要查询什么。通过引入Graph API v2.0,friends_*权限已被撤销。

FQL将在2016年8月7日之前提供,但前提是您拥有< = v2.0 app。

FQL将是

String fqlQuery = "{" +
    "'email':'SELECT uid, email FROM user WHERE uid = me()'," +
    "'friendinfo':'SELECT uid, name,pic_square, birthday FROM user WHERE uid IN (SELECT uid2 FROM SELECT uid2 FROM friend WHERE uid1 = me()) AND birthday'"+
"}";

这实际上只适用于将于2015年4月30日停止运行的v1.0应用程序。