url:https://graph.facebook.com/100779423975829/picture?type=large;
其他类型为normal的网址:https://graph.facebook.com/100779423975829/picture?type=normal
我尝试使用BitmapFactory中的Glide,Picasso,UniversalImageLoader和decodeStream加载网址,并且没有任何好结果,结果是下一个:
如果我用Chrome PC打开网址,我会自动下载照片而不打开它。
在我的应用的网页浏览中,我检查了此网址的重定向:
https://lookaside.facebook.com/platform/profilepic/?asid=100779423975829&height=200&width=200
https://m.facebook.com/platform/profilepic/?asid=100779423975829&height=200&width=200
其他人在从Facebook图表加载图片配置文件时遇到问题?
谢谢!
修改
该错误已从Facebook解决。 https://developers.facebook.com/bugs/261587761048160/
答案 0 :(得分:1)
最后这是一个facebook bug。所以问题由他们自己解决。
答案 1 :(得分:0)
是的,从http://到https://协议的重定向阻碍了使用Picasso,Glide ets的下载。您可以采用以下两种方法:
来自Facebook Sdk的SimpleDraweeView。它在内部处理重定向。
制作图表请求以获取如下所示的重定向网址,并在毕加索中使用该网址。
新的GraphRequest(AccessToken.getCurrentAccessToken(), " /&#34 + fbUserId +" /画面宽度=" +宽度+"&安培;高度=&#34 +高度+"&安培;重定向=假&#34 ;, 空值, HttpMethod.GET, 新的GraphRequest.Callback(){ public void onCompleted(GraphResponse response){
try {
String url = response.getJSONObject().getJSONObject("data").getString("url");
loadFacebookProfilePicInImageView(url);
} catch (Exception e) {
e.printStackTrace();
}
}
}
).executeAsync();
答案 2 :(得分:0)
我有同样的问题。如果您不想使用图形API来加载公共个人资料图片(如我的情况),除非有人知道解决方案,否则我们都会遇到问题。
答案 3 :(得分:0)
我有同样的问题。这似乎是一个错误。我认为我们最好只等一两天,而不是自己努力解决这个问题。另请参阅:Facebook graph user picture won't show on mobile devices和https://developers.facebook.com/bugs/560392384345729/