【问题标题】:Volley Library gives unexpected response code 302Volley 库给出了意外的响应代码 302
【发布时间】:2018-07-20 12:55:07
【问题描述】:

我正在开发一个具有通过 facebook 和 gmail 登录功能的应用程序。 要从 facebook 和 gmail 加载图像,我使用的是 volley。

对于 gmail,它工作正常,但对于 fb,它给我一个错误:

  E/Volley﹕ [380] BasicNetwork.performRequest: Unexpected response code 302 for http://graph.facebook.com/831173210283387/picture?type=large

我读了this,但什么也没发生

代码sn-p:

ImageLoader.ImageCache imageCache = new BitmapLruCache()
ImageLoader imageLoader = new ImageLoader(Volley.newRequestQueue(mContext), imageCache);
imageLoader.get(pic_url, ImageLoader.getImageListener(holder.profile,
                R.drawable.ic_user, R.drawable.ic_user));

我阅读了一些堆栈溢出 answer 并据此我也尝试过:

HttpsURLConnection.setFollowRedirects(true);
pic_url.replace("https", "http");
Log.d("Photo url", pic_url);

这是我的 Facebook 照片网址

http://graph.facebook.com/831173210283387/picture?type=large

【问题讨论】:

    标签: android facebook facebook-graph-api android-volley


    【解决方案1】:

    要解决重定向问题,试试这个。您将在图像变量中获得图像 url。

    //loginBtn = Facebook login button
    
    loginBtn.setUserInfoChangedCallback(new UserInfoChangedCallback() {
    
                @Override
                public void onUserInfoFetched(GraphUser user) {
                    // TODO Auto-generated method stub
                    if (user != null) {
    
                        Session session = Session.getActiveSession();
                        if (session.isOpened()) {
                            Log.i("AccessToken", session.getAccessToken());
    
                        }
    
                        String image = "";
                        String id = user.getId();
                        try {
                            URL image_path = new URL("http://graph.facebook.com/"
                                    + id + "/picture?type=large");
                            image = image_path + "";
                            Log.i("image::> ", image_path + "");
    
                        } catch (MalformedURLException e) {
                            e.printStackTrace();
                        }
                    } else {
                    //ELSE PART
                    }
                }
            });
    

    当提供的 URL 重定向到另一个 URL 时,Volley 会抛出 302。您在 Volley 中提供了 facebook 的图形 url,当您在浏览器中打开该 url 时,它会将您重定向到另一个 url。

    【讨论】:

      【解决方案2】:

      您能否尝试在您的基本 URL 中添加“s”,例如:https

      简而言之,如果替换您的网址 http ---> https 或者 https ---> http

      【讨论】:

      • 请不要在多个旧问题中继续发布相同的答案。如果您认为它们是重复的,请标记为重复。另一个相同的答案stackoverflow.com/a/51435354/965146
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2019-08-06
      • 2019-08-01
      相关资源
      最近更新 更多