如何显示登录用户';使用Facebook SDK中的ProfilePictureView在android应用程序中创建个人资料图片?

如何显示登录用户';使用Facebook SDK中的ProfilePictureView在android应用程序中创建个人资料图片?,android,facebook,sdk,Android,Facebook,Sdk,我想在我的android应用程序中显示登录用户的个人资料图片。如何使用Facebook SDK中的ProfilePictureView方法进行此操作?如果要使用CircularImageView库显示用户的照片,请帮助…。您仍然可以自己向Facebook Graph API发出请求并解析响应。您可以手动执行此操作,也可以通过向以下端点发出请求来使用Android SDK for Facebook graph.facebook.com/v2.1/me/picture 当然,您可以用特定用户的id

我想在我的android应用程序中显示登录用户的个人资料图片。如何使用Facebook SDK中的ProfilePictureView方法进行此操作?如果要使用
CircularImageView
库显示用户的照片,请帮助…

。您仍然可以自己向Facebook Graph API发出请求并解析响应。您可以手动执行此操作,也可以通过向以下端点发出请求来使用Android SDK for Facebook

graph.facebook.com/v2.1/me/picture
当然,您可以用特定用户的id替换
me
。您不需要在访问令牌中请求任何特殊权限。关于的请求将呈现一个类似于下面的json响应

{
  "data": {
    "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash2/v/t1.0-1/blahblahblah_n.jpg?oh=2xgdgfdhgdhdhg33ba58e021&oe=5dghgdh_gda__=1dgfhdfh88_b9gdhfghfghfghfghfgh408d6e7", 
    "is_silhouette": false
  }
}
此json响应包含以下字段:

  • url:您可以从中请求配置文件图片的url
  • is_剪影:确定图片是否为默认的facebook剪影。如果用户没有添加个人资料图片,那么facebook的默认轮廓将在url中返回…见下文
  • 您还可以使用Android SDK for Facebook,创建请求对象,传入当前会话对象,异步执行请求,例如

    new Request(
        _currentSession,
        "/me/picture",
        null,
        HttpMethod.GET,
        new Request.Callback() {
            public void onCompleted(Response response) {
                //parse the response
            }
        }
    ).executeAsync();
    

    有关更多信息,您可以阅读,甚至可以使用Graph API Explorer进行测试

    我认为facebook SDK提供了图片标签作为响应,只需获取并显示它。@Nevaeh这其中涉及到一点。你至少做过什么吗?我不能在这里添加完整的解决方案我这样做了。但是图片需要以圆形显示。为此,我可以使用库CircularImageView。但是我不能使用ProfilePictureView小部件。因此我想下载图片并在我的imageview中显示。你能告诉我如何下载登录用户的个人资料图片吗?我是解析配置文件信息json并具有用户id。如何下载和显示其配置文件图片?@Nevaeh您需要通过发出请求并自行解析响应手动完成此项工作。我会在答案中添加更多的信息,而不是评论。太好了!!!感谢您的帮助…我参考了大量教程。我得到了图像,但当我使用CircularImageView时,它会出现异常。怎么办?java.lang.RuntimeException:无法启动活动组件信息{com.example.fbsample/com.example.fbsample.MainActivity}:android.view.InflateException:二进制XML文件行#17:膨胀类CircularImageView时出错