3

如何使用 facebook SDK 在 Android 中检索我的 facebook 朋友的姓名、生日个人资料图片电子邮件地址?

使用 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

它将帮助您解决我的问题....欢迎您提出所有建议。

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

4

2 回答 2

2

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

使用您的权限授权 Facebook

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

之后在 onComplete 方法中获取并存储访问令牌,现在在 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 并在您的应用程序中使用..

如果您仍有任何问题,请随时询问。

于 2013-09-23T11:56:30.907 回答
1

您应该看一下 Facebook 应用程序示例:

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

于 2013-06-27T17:57:07.717 回答