Android 如何获得用户';来自Facebook的好友个人资料照片(阿凡达)

Android 如何获得用户';来自Facebook的好友个人资料照片(阿凡达),android,facebook,facebook-graph-api,facebook-android-sdk,Android,Facebook,Facebook Graph Api,Facebook Android Sdk,我正在开发一个Android版本的应用程序,它使用Facebook进行授权和检索用户的好友列表 从SDK v.2.0开始,获取尚未安装应用程序的好友列表变得非常困难,但我让它正常工作了,现在我需要获取到好友档案图片(头像)的链接。但Facebook不想为尚未安装该应用程序的朋友返回正常ID。例如,如果一个朋友安装了一个应用程序,那么FB返回它的ID作为数字,类似于651651616851,如果不是,那么FB返回字符字符串,如“glkjrgbjrbgjdrbhgjhlfkfefkjgnrg” 如果

我正在开发一个Android版本的应用程序,它使用Facebook进行授权和检索用户的好友列表

从SDK v.2.0开始,获取尚未安装应用程序的好友列表变得非常困难,但我让它正常工作了,现在我需要获取到好友档案图片(头像)的链接。但Facebook不想为尚未安装该应用程序的朋友返回正常ID。例如,如果一个朋友安装了一个应用程序,那么FB返回它的ID作为数字,类似于651651616851,如果不是,那么FB返回字符字符串,如“glkjrgbjrbgjdrbhgjhlfkfefkjgnrg”


如果我使用类似数字的ID检索照片,它可以工作,但如果我尝试使用类似字符的ID,FB返回803错误。我的问题是如何获取普通ID或如何获取朋友的个人资料图片?

这是获取朋友图片的API调用,您可以指定(最小)宽度和高度:

/me/friends?fields=picture.width(400).height(400)


现在,您可以从Uri下载用户当前配置文件的配置文件图片。

检查。这对你有帮助所以你用taggable_friends或invitable_friends来获取朋友列表?这些端点用于其名称所示的特定目的;您不允许将其用于任何其他目的。Facebook将拒绝你的应用使用评论中的内容。Facebook推出这些模仿是有原因的——不要试图绕过它们。
 FacebookSdk.sdkInitialize(this.getApplicationContext());
    callbackManager = CallbackManager.Factory.create();

    ProfileTracker profileTracker = new ProfileTracker() {
        @Override
        protected void onCurrentProfileChanged(
                Profile oldProfile,
                Profile currentProfile) {
            // App code
               Uri uri = currentProfile.getProfilePictureUri(200,200); 
        }
    };