如何在Android中获取Facebook朋友的生日,电子邮件和个人资料图片

时间:2013-06-27 17:26:01

标签: android facebook facebook-graph-api facebook-android-sdk

如何使用facebook SDK检索Android版Facebook朋友的名称,出生日期个人资料图片电子邮件地址 < / p>

使用Graph API或返回的JSON对象的任何方式..帮助我解决这个问题..

I know you are thinking this question has been asked ...但是我觉得你无法从任何地方获得完全的满足感......

但是我已经完成了所有这些问题以及所有这些问题的相关链接,并在facebook sdk文档中进行了搜索,但我没有得到任何可以让我获得成功的线索......

我已经尝试过使用JSON对象以及使用Graph API。

我知道使用我们可以获得的方式,如生日和朋友的个人资料图片......

它不允许我在这里上传我的代码..但我认为我的问题与从Facebook获得许可有关..

尝试解决这个问题并给我一些生日日期,个人资料图片,电子邮件等等的代码片段。我的facebook朋友使用facebook sdk的东西......

我卡住的地方...... 权限未授予,请参阅以下Logcat ...

06-28 10:03:43.542: W/com.facebook.Session(3650): Should not pass a read permission (user_likes) to a request for publish or manage authorization

06-28 10:03:43.542: W/com.facebook.Session(3650): Should not pass a read permission (email) to a request for publish or manage authorization

06-28 10:03:43.542: W/com.facebook.Session(3650): Should not pass a read permission (user_birthday) to a request for publish or manage authorization

06-28 10:03:43.552: W/com.facebook.Session(3650): Should not pass a read permission (link) to a request for publish or manage authorization

06-28 10:03:43.552: W/com.facebook.Session(3650): Should not pass a read permission (friends_birthday) to a request for publish or manage authorization

06-28 10:03:43.552: W/com.facebook.Session(3650): Should not pass a read permission (friends_photos) to a request for publish or manage authorization

06-28 10:03:43.552: W/com.facebook.Session(3650): Should not pass a read permission (friends_about_me) to a request for publish or manage authorization

06-28 10:03:43.552: W/com.facebook.Session(3650): Should not pass a read permission (friends_link) to a request for publish or manage authorization

它会帮助您解决我的问题.... 您的所有建议都是欢迎。

我在最近几天找到解决方案请给我一些有用的想法。

2 个答案:

答案 0 :(得分:2)

我把我的解决方案放在下面可能对其他人有帮助

使用您的权限授权Facebook

facebook.authorize(context, new String[] { "publish_stream",
                "friends_birthday" }, Facebook.FORCE_DIALOG_AUTH,
                new DialogListener() }

之后在onComplete方法中获取并存储Access令牌 现在在AsyncRunner中运行此FQL,您将获得响应为Json

String query = "SELECT uid,name,username,birthday_date,pic_big FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ";
        // String query = "SELECT name FROM user WHERE uid = me()";
        Bundle params = new Bundle();
        params.putString("method", "fql.query");
        params.putString("query", query);

        mAsyncRunner.request(params, new RequestListener()}

现在解析它json并在你的应用程序中使用..

  

如果您有任何问题,请随时提出。

答案 1 :(得分:1)

你应该看看Facebook应用程序的例子:

https://developers.facebook.com/samples/