2

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

我正在使用以下权限:

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);
}

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

4

1 回答 1

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

于 2014-05-07T15:59:05.453 回答