如何使用选择视图用户设置获取Facebook照片(如果他们使用大图像)。如果我在路径图中使用type =“large”或“normal”或“small”那么我得到图像但它不是正方形而且它不是用户集的选择视图。那么,我怎样才能获得方形类型的照片和用户集的视图
答案 0 :(得分:48)
通过请求设置了type=square
和width
参数的图片,您可以获得尺寸高于height
(尺寸仅为50x50像素)的正常尺寸的方形图片
请参阅https://developers.facebook.com/docs/reference/api/user/,“图片”连接,引用:
“此外,您可以指定宽度和高度URL参数来请求特定大小的图片。这会将可用的个人资料图片最近返回到请求的尺寸和要求的宽高比。 [...]如果width = height,我们将始终返回一张方形图片。“
示例:
https://graph.facebook.com/4/picture?type=square - 扎克伯格先生的“正常”方形图片,大小为50x50
https://graph.facebook.com/4/picture?width=100&height=100 - 100x100像素,完美匹配所需尺寸
https://graph.facebook.com/4/picture?width=150&height=150 - 要求150x150,而不是156x156。
如果你可以忍受的话,有时可能会获得比所要求的尺寸更大(或更小)的图像,你应该没问题。
否则,需要进行一些测试,以确定是否存在某些方形图像尺寸,Facebook将始终“有库存”并提供完全匹配,或者如果每个用户可能会有所不同,具体取决于图片上传。
答案 1 :(得分:12)
{{1}}
而不是100,您可以将200,300加密响应并使用密钥
获取答案 2 :(得分:3)
尝试使用square
类型。如下:
http://graph.facebook.com/[user_id]/picture?type=square
方形尺寸限制为50x50。如果你想要一个大尺寸,你将不得不放大方形版本或裁剪大版本。
如果您不介意自己检索和裁剪图像,请按照我的tutorial here代码执行此操作。它可以让你生成大于50像素的方形图像。
答案 3 :(得分:2)
这对我有用。检查以下查询,
NSString * graphPath = [NSString stringWithFormat:@"%@?fields=photos.fields(id,link,source)", albumID];
答案 4 :(得分:1)
通过查询user's profile data using FQL获取照片。在您的情况下,您不需要任何访问令牌。有一个名为pic_crop
的列,它是一个包含所需uri的对象:
对象的最大尺寸方形轮廓图片的URL 被查询。
width
,height
:此图片的像素尺寸。left
,top
,right
,bottom
:所选用户的像素坐标 裁剪此个人资料图片。
使用Graph API Explorer来测试您的查询。
更新:来自Facebook查询语言(FQL)参考:
Facebook Platform API的Version 2.0是FQL可用的最后一个版本。 2.0之后的版本不支持FQL。请迁移您的应用程序以使用Graph API而不是FQL。有关最新版本信息,请参阅我们的changelog。