检索Facebook好友返回空列表

时间:2014-05-07 09:43:49

标签: android facebook android-simple-facebook

我试图检索所有朋友的列表,但它总是返回零大小的列表...没有例外也没有失败...

我使用以下权限:

Permission[] permissions = new Permission[] {
            Permission.BASIC_INFO,
            Permission.READ_FRIENDLISTS
    };

我正在使用以下代码:

private static OnFriendsListener mOnFriendsListener = new OnFriendsListener()
{
    @Override
    public void onComplete(List<Profile> friends)
    {
        L.d(FacebookHelper.class, "OnFriendsListener::onComplete");
        BusProvider.getInstance().post(new FacebookEvent(Type.Friends, friends));
    }

    @Override
    public void onException(Throwable throwable)
    {
        L.d(FacebookHelper.class, "OnFriendsListener::onException");
        L.e(FacebookHelper.class, new Exception(throwable));
    }

    @Override
    public void onThinking()
    {
    }

    @Override
    public void onFail(String reason)
    {
        L.d(FacebookHelper.class, "OnFriendsListener::onFail");
    }
};

public static void getFriends(SimpleFacebook simpleFacebook)
{
    PictureAttributes pictureAttributes = Attributes.createPictureAttributes();
    pictureAttributes.setType(PictureType.SMALL);

    Properties properties = new Properties.Builder()
            .add(Properties.ID)
            .add(Properties.FIRST_NAME)
            .add(Properties.LAST_NAME)
            .add(Properties.PICTURE, pictureAttributes)
            .add(Properties.BIRTHDAY).build();

    simpleFacebook.getFriends(properties, mOnFriendsListener);
}

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您使用的是适用于Android v3.14的Facebook SDK吗?如果是这样,请确保请求“user_friends”权限,该权限允许应用程序读取也通过Facebook登录应用程序的朋友。

注意:v3.14默认使用Graph API 2.0。在该版本的API中,GET / me / friends返回使用Facebook登录应用程序的朋友。

如果您要构建一个功能来标记帖子中的朋友,请查看Taggable Friends API:

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

有关2.0更改的更多信息,请点击此处:

https://developers.facebook.com/docs/apps/changelog#v2_0_login