使用直接URL访问facebook事件封面图片会出错。无法导入

时间:2014-08-29 06:11:03

标签: php facebook facebook-graph-api

我正在编写一个PHP脚本,它可以获取Facebook事件的详细信息,包括他们的封面图片。

封面图片在文件扩展名后有一些参数,如果我尝试将其删除,以便下载封面图片。它给出了以下错误:

**

An error occurred while processing your request.
Reference #50.4d4bf6d8.1409292400.53580bb6

**

用于测试的示例网址

https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/s720x720/10615623_712661278807208_4151858164785468114_n.jpg?oh=83c0a40f1b57b3466839bbbe17d50ab6&oe=545D09E6&gda=1417065942_9ac0a46e6667825a737edd93630685c5

如果您尝试使用

进行访问,则无法访问该图片

https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/s720x720/10615623_712661278807208_4151858164785468114_n.jpg

任何想法如何去做?

PS:该事件不是私密的。

2 个答案:

答案 0 :(得分:0)

我用curl试了一下。这就是我所做的,它适用于您提供的图像URL(使用params):

`

<?php
$url = "https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/s720x720/10615623_712661278807208_4151858164785468114_n.jpg?oh=83c0a40f1b57b3466839bbbe17d50ab6&oe=545D09E6&__gda__=1417065942_9ac0a46e6667825a737edd93630685c5";
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_HEADER, false);
curl_setopt($handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36');
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($handle);
file_put_contents("eventImageID.jpg", $result);
var_dump($result);
curl_close($handle);
?>

`

我希望这适合你。

干杯

克里斯

答案 1 :(得分:0)

我不清楚为什么你想按照你描述的方式去做。使用Graph API来请求封面照片更自然(假设你知道event_id,使用

/{event-id}/picture 

https://developers.facebook.com/docs/graph-api/reference/v2.1/event/picture中所述。这将返回实际图片。如果您只想要url,请将redirect=false附加到请求中。您需要一个用户访问令牌。

样品申请:

https://developers.facebook.com/tools/explorer?method=GET&path=1529936507237312%2Fpicture%3Fredirect%3Dfalse&version=v2.1