Wen*_*ger 8 facebook facebook-graph-api
我正在为"me/home"进行Facebook Graph API调用以获取用户的新闻源.众所周知,你在"图片"字段中获得的URL是一张低分辨率的照片,在100x100以上的任何地方看起来不太好.我知道你可以通过对"object_id"进行另一个图形调用并在该结果中使用"source"字段来获取高分辨率图片的URL.
但我正在查看URL,并认为可能有一种方法可以将一个转换为另一个而无需进行另一个图形调用.要么是这样,要么从其他领域的现有数据构建高分辨率.例如,第一个URL是低分辨率的URL,第二个URL是源分辨率.
http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/297313_10152643117455790_610095553_s.jpg
http://sphotos-b.xx.fbcdn.net/hphotos-ash4/297313_10152643117455790_610095553_n.jpg
Run Code Online (Sandbox Code Playgroud)
它看起来像数字 (something I don't know)_("object_id")_(something else I don't know)
有没有人有尝试更改URL同时保持数字部分在中间的经验?是否存在可能导致正则表达式问题的变体?
编辑:这是我正在使用的代码.
String objectId = null;
if (jsonObject.has("object_id")) {
objectId = jsonObject.getString("object_id");
}
String postPhoto = "http://graph.facebook.com/" + objectId + "/picture";
Run Code Online (Sandbox Code Playgroud)
检查帖子是否是照片在代码中稍早一些,所以它总是会为帖子类型的"照片"运行这些行.
me/home- graph api有一个叫做的字段"object_id" and "type".如果类型是"photo",那么您将拥有此object_id值.通过使用此对象id并进行另一个图形api调用,您将获得一个被调用的对象"images".该对象有几个选项(不同的大小).
要么
使用如下所示的对象ID并获取相册大小的照片版本.此调用支持的类型是"thumbnail,normal,album".
https://graph.facebook.com/{object-id-from-feed}/picture?type=normal
Run Code Online (Sandbox Code Playgroud)
并在"支持的对象示例"部分下签出此链接.
您需要做的就是(图形 API):
http://graph.facebook.com/me?fields=picture.height(961)
// all any height which u want
Run Code Online (Sandbox Code Playgroud)
或(对于其他用户)
http://graph.facebook.com/{user_id}?fields=picture.height(961)
// replace {user_id} with the user id you want
Run Code Online (Sandbox Code Playgroud)
更新 :
由于 Facebook API 会不断更新,因此此解决方案可能已被弃用。此变通解决方案将来可能不起作用。
您可能还需要访问令牌来执行此端点。
| 归档时间: |
|
| 查看次数: |
8825 次 |
| 最近记录: |