进行了一些搜索,但没有任何结果或者是旧的并且不起作用
我正在使用 graph api 获取 facebook 帖子并在我的网站上对其进行格式化,URL/curl/json 正在运行;但是,图片默认返回最小的 130x130 版本。我在每个帖子的 foreach 循环内添加了第二个 json 以获取较大的图像 URL,但这会显着减慢页面加载速度。
帖子是否有一个参数可以抓取更大的 720x720 图像 URl,而不是默认拉取的小图像。我尝试了用于第二个(循环中)的 fields=full_picture 但它不起作用。
还尝试使用 file_get_contents() 函数代替 cURL 解决方案,但没有明显的速度差异
我还尝试对初始数组的图片数据进行字符串替换,但 facebook 现在将这些 oh= 和 oe= 标记添加到其图像 URL 中,因此该技巧也不起作用。
$limit = 20;
//App Info, needed for Auth
$app_id = "app id removed :)";
$app_secret = "seceret code removed :)";
$url = 'https://graph.facebook.com/'.$profile_id.'/posts?limit='.$limit.'&access_token='.$app_id.'|'.$app_secret;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
$json = json_decode($data, true);
foreach($json[data] as $child) {
$thisDate = $child['created_time'];
$url='https://graph.facebook.com/' . $child['id'] . '?fields=full_picture&access_token='.$app_id.'|'.$app_secret;
/*
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
$pic = json_decode($data, true);
*/
$pic = json_decode(file_get_contents($url),true);
}
curl_close($ch);
该解决方案确实有效并提供了更大的图像,但由于循环内额外的 cURL 调用,只是减慢了页面加载速度。
谢谢