Facebook如何使用Graph API获取实际照片URL?
可以使用Graph api获取Facebook图像的实际图像url 例如,对于下面的照片 实际的URL是 是否有一些图形api方法可以实现这一点 是否有一些图形api方法可以实现这一点 因此,您必须查看对象的Facebook如何使用Graph API获取实际照片URL?,facebook,facebook-graph-api,Facebook,Facebook Graph Api,可以使用Graph api获取Facebook图像的实际图像url 例如,对于下面的照片 实际的URL是 是否有一些图形api方法可以实现这一点 是否有一些图形api方法可以实现这一点 因此,您必须查看对象的source字段: 资料来源: 照片的源图像-目前,其最大宽度或高度为720px,在2012年3月1日增加到960px 表示有效URL的字符串 这将为您提供照片上载的原始大小,用于较小的图像,或将每个方向的最大大小调整为960px 对于更大的尺寸,您必须检查图像字段: 图像: 照片的4种
source
字段:
资料来源:
照片的源图像-目前,其最大宽度或高度为720px,在2012年3月1日增加到960px
表示有效URL的字符串
这将为您提供照片上载的原始大小,用于较小的图像,或将每个方向的最大大小调整为960px
对于更大的尺寸,您必须检查图像
字段:
图像:
照片的4种不同存储表示形式
对象数组,包含高度、宽度和源字段
这“承诺”提供更大的尺寸(f.e.2048×1417px)–但请注意,如果原始图像没有要求的那么大,这些条目仍将提供更小的图像。似乎缺少相关文档。用这种方法可以很简单地实现。在该url中,取出由fbid表示的pic的id。在上述情况下,它是357755307655174。现在对这个对象执行一个GraphAPI查询。这将返回一个JSON,其中包含数据库中存在的所有纵横比及其实际URL。格式后面的每个数据字段
{
"height": 1080,
"source": "https://scontent-a.xx.fbcdn.net/hphotos-xpf1/t31.0-8/10296099_566697856780203_6555830953677139074_o.jpg",
"width": 1980
}
使用图形浏览器再次检查返回的JSON数据的格式。源就是您要查找的内容。- 发件人:
字段一起返回
查询参数
这就是为什么当你检索照片时,你只能得到创建时间
,名称
和id
- 发件人:
source
字段在最新的API(v2.8)中被弃用。使用图像
因此,您的查询可能如下所示:
GET graph.facebook.com/{photo-id}?fields=images
{
"images":[
{
"height":358,
"source":"https://scontent.xx.fbcdn.net/v/t1.0-9/15327427_585435148333529_xxxxxxxxxxxx_n.jpg?oh=xxxxxxxx&oe=xxxxxxxxx",
"width":518
},
{
"height":320,
"source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p320x320/15327427_xxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxx&oe=xxxx&__gda__=xxxxxxxxxxxx",
"width":463
},
{
"height":130,
"source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p130x130/15327427_xxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxxx&oe=xxx&__gda__=xxxxxxxxxxxxxxxxxx",
"width":188
},
{
"height":225,
"source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p75x225/15327427_xxxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxxxxxxxxx&oe=xxxxxxxxxxxxxxxxxx&__gda__=xxxxxxxxxxxxxxxxxx",
"width":325
}
],
"id":"585435148333529"
}
答案应该是这样的:
GET graph.facebook.com/{photo-id}?fields=images
{
"images":[
{
"height":358,
"source":"https://scontent.xx.fbcdn.net/v/t1.0-9/15327427_585435148333529_xxxxxxxxxxxx_n.jpg?oh=xxxxxxxx&oe=xxxxxxxxx",
"width":518
},
{
"height":320,
"source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p320x320/15327427_xxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxx&oe=xxxx&__gda__=xxxxxxxxxxxx",
"width":463
},
{
"height":130,
"source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p130x130/15327427_xxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxxx&oe=xxx&__gda__=xxxxxxxxxxxxxxxxxx",
"width":188
},
{
"height":225,
"source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p75x225/15327427_xxxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxxxxxxxxx&oe=xxxxxxxxxxxxxxxxxx&__gda__=xxxxxxxxxxxxxxxxxx",
"width":325
}
],
"id":"585435148333529"
}
请求字段附件,从中可以找到原始图像
&fields=picture.type(large),attachments
newgraphrequest(
facebookToken,
String.format(“/%s/photos”,idAlbum),
参数,
HttpMethod.GET,
答复->{
试一试{
JSONArray photoArray=response.getJSONObject().getJSONArray(“数据”);
PhotoAlbumAfterPagination=response.getJSONObject().getJSONObject(“分页”).getJSONObject(“游标”).getString(“之后”);
Gson Gson=新的Gson();
Type Type=new-TypeToken(){
}.getType();
List=gson.fromJson(photoArray.toString(),类型);
}捕获(JSONException e){
e、 printStackTrace();
}
}
).executeAsync();
所以我必须添加用户照片
权限?该死!我在问题中没有提到这一点,但问题中的照片是我从我的应用程序上传的。。上传后,FB只返回照片ID和帖子ID。。。即使我是上传照片的人,user\u photos
permission是获取源URL的唯一方法吗?source
字段不推荐使用。改用图像
。我不明白你是怎么得到这个结果的。我有一个图片id(743109952401466),现在我想得到这张图片的url。所以它应该是这样的https://graph.facebook.com/v2.5/743109952401466?access_token=my_token
但是它只给了我一个JSON输出,这个图片的created\u time
,nam
e和id
,没有url。如何才能将JSON与源代码
字段一起使用?@tyskaj-我也遇到过这个问题,并在其他地方了解到,您需要使用?fields=link
查询参数指定请求返回的其他字段。因此,您的评论中的URL应该是:https://graph.facebook.com/v2.5/743109952401466?access_token=my_token&fields=link
。对于v2.8和v2.9,我们只创建时间、名称和id。在8.0中已弃用