我无法从Graph Facebook加载图片

时间:2018-03-27 13:02:50

标签: android facebook-graph-api

url:https://graph.facebook.com/100779423975829/picture?type=large;

其他类型为normal的网址:https://graph.facebook.com/100779423975829/picture?type=normal

我尝试使用BitmapFactory中的Glide,Picasso,UniversalImageLoader和decodeStream加载网址,并且没有任何好结果,结果是下一个:

  • UniversalImageLoader:图片无法解码
  • BitmapFactory: bitmap = null

如果我用Chrome PC打开网址,我会自动下载照片而不打开它。

在我的应用的网页浏览中,我检查了此网址的重定向:

  1. https://lookaside.facebook.com/platform/profilepic/?asid=100779423975829&height=200&width=200

  2. https://m.facebook.com/platform/profilepic/?asid=100779423975829&height=200&width=200

  3. 其他人在从Facebook图表加载图片配置文件时遇到问题?

    谢谢!

    修改

    该错误已从Facebook解决。 https://developers.facebook.com/bugs/261587761048160/

4 个答案:

答案 0 :(得分:1)

最后这是一个facebook bug。所以问题由他们自己解决。

https://developers.facebook.com/bugs/261587761048160/

答案 1 :(得分:0)

是的,从http://到https://协议的重定向阻碍了使用Picasso,Glide ets的下载。您可以采用以下两种方法:

  1. 来自Facebook Sdk的SimpleDraweeView。它在内部处理重定向。

  2. 制作图表请求以获取如下所示的重定向网址,并在毕加索中使用该网址。

    新的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 deviceshttps://developers.facebook.com/bugs/560392384345729/