我正在为“me/home”进行 Facebook Graph API 调用以获取用户的新闻提要。众所周知,您在“图片”字段中获得的 URL 是一张低分辨率的照片,在 100x100 以上的任何东西上都不好看。我知道您可以通过对“object_id”进行另一个图形调用并在该结果中使用“source”字段来获取高分辨率图片的 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
看起来数字是(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";
检查帖子是否为照片在代码中稍早一些,因此它将始终针对“照片”类型的帖子运行这些行。