PHP Facebook Graph API和全尺寸或更大尺寸的post图像
进行了一些搜索,但没有发现任何内容或内容陈旧且不起作用 我正在使用graph api获取facebook帖子,并在我的网站上对它们进行格式化,URL/curl/json正在发挥作用;但是,返回的图片默认为最小的130x130版本。我在foreach循环中为每篇文章添加了第二个json,以获取更大的图像URL,但这大大降低了页面负载 是否有一个参数用于获取更大的720x720图像URl,而不是默认拉取的小URl。我尝试了用于第二个(循环中)的fields=full\u图片,但它不起作用 还尝试使用file_get_contents()函数代替cURL解决方案,但没有明显的速度差异 我也尝试过对初始数组的图片数据进行字符串替换,但facebook现在将这些oh=和oe=标记添加到他们的图片URL中,所以这个技巧也不起作用PHP Facebook Graph API和全尺寸或更大尺寸的post图像,php,json,facebook,facebook-graph-api,curl,Php,Json,Facebook,Facebook Graph Api,Curl,进行了一些搜索,但没有发现任何内容或内容陈旧且不起作用 我正在使用graph api获取facebook帖子,并在我的网站上对它们进行格式化,URL/curl/json正在发挥作用;但是,返回的图片默认为最小的130x130版本。我在foreach循环中为每篇文章添加了第二个json,以获取更大的图像URL,但这大大降低了页面负载 是否有一个参数用于获取更大的720x720图像URl,而不是默认拉取的小URl。我尝试了用于第二个(循环中)的fields=full\u图片,但它不起作用 还尝试使用
$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调用,因此只会降低页面加载速度
谢谢您可以通过使用以下参数在一次请求中获得该数据:
/me/posts?fields=message,full_picture
(如果您想要更多的附加字段,您还必须列出它们。)谢谢,通过添加“消息”选项就可以做到这一点。fields参数是否仅适用于一个选项?不,它当然也适用于单个字段。(假设你需要的数据可能不止是图像。)这就是werid,fields是我找到并尝试的第一个东西,但之前它不起作用:-/