【问题标题】:Facebook User's profile picture URL not working in PICASSOFacebook 用户的个人资料图片 URL 在 PICASSO 中不起作用
【发布时间】:2018-11-19 14:21:43
【问题描述】:

我是 android 新手,我正在尝试获取用户的头像,问题是我从 JSONObject 获取的 URL 无效,因此 PICASSO 无法显示它。

这是我的代码

 private void getData(JSONObject object) {
        try{
          URL profilepic = new 
          URL("https://graph.facebook.com"+object.getString("id")+"/picture?type=large");
          imageurl = profilepic.toString();
          userN = object.getString("short_name");
          prenom=object.getString("last_name");
          nom=object.getString("first_name");
     } catch (MalformedURLException e) {
            e.printStackTrace();
     } catch (JSONException e) {
            e.printStackTrace();
        }
    }

这些是参数

Bundle parameters =new Bundle();
parameters.putString("fields","short_name,first_name,last_name,picture");
request.setParameters(parameters);
request.executeAsync();

【问题讨论】:

  • 好吧,除非object.getString("id") 返回以斜杠开头的内容,否则这不足为奇。 (但是,如果您没有收到 MalformedURLException, 将是一个惊喜。)

标签: android json facebook facebook-graph-api picasso


【解决方案1】:

您可以将picture.type(large) 字段添加到您的parameters

parameters.putString("fields","short_name,first_name,last_name,picture.type(large)");

此图片的大小可以是以下值之一: 小、普通、大、方形。

或者你可以像picture.width(1000).height(1000)一样指定图片的宽高。

然后在你的JSONObject object 中,你会在"picture" 键下找到图像的数据。

【讨论】:

  • 问题出在图片的 URL 中,它有一个额外的 /,所以它没有工作我解决了这个问题,但感谢您提供额外的信息!
猜你喜欢
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多