PHP Facebook Graph API和全尺寸或更大尺寸的post图像

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图片,但它不起作用 还尝试使用

进行了一些搜索,但没有发现任何内容或内容陈旧且不起作用

我正在使用graph api获取facebook帖子,并在我的网站上对它们进行格式化,URL/curl/json正在发挥作用;但是,返回的图片默认为最小的130x130版本。我在foreach循环中为每篇文章添加了第二个json,以获取更大的图像URL,但这大大降低了页面负载

是否有一个参数用于获取更大的720x720图像URl,而不是默认拉取的小URl。我尝试了用于第二个(循环中)的fields=full\u图片,但它不起作用

还尝试使用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调用,因此只会降低页面加载速度


谢谢

您可以通过使用以下参数在一次请求中获得该数据:

/me/posts?fields=message,full_picture

(如果您想要更多的附加字段,您还必须列出它们。)

谢谢,通过添加“消息”选项就可以做到这一点。fields参数是否仅适用于一个选项?不,它当然也适用于单个字段。(假设你需要的数据可能不止是图像。)这就是werid,fields是我找到并尝试的第一个东西,但之前它不起作用:-/