android - 检索 Facebook 好友返回空列表

标签 android facebook android-simple-facebook

我正在尝试检索所有 friend 的列表,但它总是返回零大小的列表...没有异常(exception),也没有失败...

我正在使用以下权限:

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

谁能帮我解决这个问题吗?

最佳答案

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

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

如果您正在构建在帖子中标记好友的功能,请查看可标记好友 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

关于android - 检索 Facebook 好友返回空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23514239/

相关文章:

java - 将 double 值舍入为 2 个小数位

android - 建议为运行 jack 的 Gradle 守护程序使用更大的堆

android - 如何在不打开gmail撰写页面的情况下直接通过gmail发送邮件

facebook - Facebook JS SDK 和 Google Analytics 的过期 header

java - 调用 getFriends 时抛出异常

android-studio - Gradle提示: "TaskSelectionException: Task ' generateDebugTestSources' not found in project"

尽管我选择了网络摄像头作为来源,但 Android 虚拟设备摄像头无法正常工作

java - 使用 Spring Social facebook api 获取访问 token

android - 获取带有姓名的 Facebook 好友列表