android - 从 Facebook Graph-API 获取用户图像

标签 android facebook facebook-graph-api

我想在 ListView 中显示用户的个人资料图片。 当我尝试从 android 调用 graph-api 来检索图像时,我总是收到以下错误。

java.io.IOException: Hostname <fbcdn-profile-a.akamaihd.net> was not verified
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:170)
    at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection$HttpsEngine.connect(HttpsURLConnection.java:398)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.sendRequest(HttpURLConnection.java:1224)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doRequestInternal(HttpURLConnection.java:1558)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doRequest(HttpURLConnection.java:1551)
    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1052)
    at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection.getInputStream(HttpsURLConnection.java:252)
    at com.facebook.android.Util.openUrl(Util.java:200)
    at com.facebook.android.Facebook.request(Facebook.java:559)

这是我使用的代码:

private static void retrieveProfilePicture(String userId) throws MalformedURLException, IOException{
        facebook = FacebookHelper.getInstance();
        Bundle bundle = new Bundle();
        bundle.putString(Facebook.TOKEN, facebook.getAccessToken());
        Object picture = facebook.request("/"+userId+"/picture", bundle, "GET");

当我在浏览器中执行相同的调用 (https://graph.facebook.com//picture?access_token=) 时,我会在这样的 url 上返回图像 https://fbcdn-profile-a.akamaihd.net/...

图片以哪种格式发送给我?带有图像引用 (url) 的 JSON?

最佳答案

 ImageView user_picture;
 userpicture=(ImageView)findViewById(R.id.userpicture);
 URL img_value = null;
 img_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large");
 Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
 userpicture.setImageBitmap(mIcon1);

其中 ID 是您的个人资料 ID。

欲了解更多详情,请查看 Reference for Graph API

.......................

关于android - 从 Facebook Graph-API 获取用户图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841710/

相关文章:

facebook-graph-api - 如何让用户退出我的 FB 应用程序但不退出 Facebook 网站?

android - 如何在 ConstraintLayout 中使用创建者

javascript - 使用多个输入元素时未触发 Android Chrome 按键事件 "Enter"

JavaScript Regex 检查电子邮件格式,如 Facebook 注册表

php - 获取Facebook当前位置和公开资料的家乡

java - 无法从 Facebook 获取用户的个人资料图片。请查看详情

android - 如何获取操作栏 View 对象?

iphone - PhoneGap 的 vibrate() 和 beep() 函数在 iPhone、Android 模拟器中中断

ios - 有没有更好的方法在iOS应用中使用新的Facebook Comments插件?

javascript - 如果用户未登录 Facebook,则 FB.getLoginStatus 不会触发