通过图形API访问全尺寸(851x315)时间线封面照片

Dan*_*ras 5 facebook-graph-api

我注意到当我通过Graph API(使用PHP)访问时间线封面照片URL时,返回的照片是720x266而不是851x315.使用<graph api url>/userId/?field=cover或访问访问['cover']['source']时返回的json数组的url<graph api url>/userID

我一直无法找到检索全尺寸封面照片的方法.使用firebug我可以看到Facebook加载完整大小的851x315图像,URL中唯一的区别似乎是API返回的路径中有720x720,

Facebook加载的内容:

http://a3.sphotos.ak.fbcdn.net/hphotos-ak-prn1/xxxxxx_xxxxxxxxxxxxxxx_xxxxxxxxxx_n.jpg

Graph API返回的内容

http://a3.sphotos.ak.fbcdn.net/hphotos-ak-prn1/s720x720/xxxxxx_xxxxxxxxxxxxxxx_xxxxxxxxxx_n.jpg

有没有办法直接访问全尺寸封面照片网址?我可以解析API返回的URL来剥离720x720,但我希望这是一种更优雅的方式直接获取全尺寸封面照片URL.

Muh*_*m C 6

访问Facebook用户的全尺寸时间线封面照片


在PHP中,我们可以执行以下操作.它是一个小小的黑客,我不保证它会终身工作.

如您所见,s720x720返回的照片网址中有一个.现在我们将用l720(L720)替换它 .借助于php中的preg_replace().


$coverphoto_url="https://a3.sphotos.ak.fbcdn.net/hphotos-ak-prn1/s720x720/xxxxxx_xxxxxxxxxxxxxxx_xxxxxxxxxx_n.jpg";

$coverphoto_url = preg_replace('/s720/i','l720',$coverphoto_url);
Run Code Online (Sandbox Code Playgroud)

这将返回,

https://a3.sphotos.ak.fbcdn.net/hphotos-ak-prn1/ l720x720 /xxxxxx_xxxxxxxxxxxxxxx_xxxxxxxxxx_n.jpg


您也可以使用javascript执行此操作.

coverphoto_url = coverphoto_url.replace(/s720/i, 'l720');
Run Code Online (Sandbox Code Playgroud)

如果你不知道如何通过图形API检索coverphoto,那么请阅读这个问题.

如何获得securl封面网址?

希望这有助于某人:)