Php 使用facebook api获取帖子视图的更有效方法
我正在使用facebook api从pagesPhp 使用facebook api获取帖子视图的更有效方法,php,facebook,object,facebook-graph-api,Php,Facebook,Object,Facebook Graph Api,我正在使用facebook api从pagesinsights对象中读取post\u impressions字段。问题是,您只能返回一篇文章的结果,或者显示一个月/周/天内所有文章的所有印象的结果,这意味着您无法返回显示所有文章及其相应的post\u印象的结果 我现在想让它正常工作的方法是循环我的facebook帖子,在这个循环中,我为insights对象放置了一个文件\u get\u内容,然后在url中添加一个循环帖子id 这样,我收到的每一篇帖子都会向FBAPI发出一个新的请求,这对加载时间
insights
对象中读取post\u impressions
字段。问题是,您只能返回一篇文章的结果,或者显示一个月/周/天内所有文章的所有印象的结果,这意味着您无法返回显示所有文章及其相应的post\u印象的结果
我现在想让它正常工作的方法是循环我的facebook帖子,在这个循环中,我为insights
对象放置了一个文件\u get\u内容,然后在url中添加一个循环帖子id
这样,我收到的每一篇帖子都会向FBAPI发出一个新的请求,这对加载时间造成了很大的损失
有没有更有效的方法?当我删除这部分代码时,我的站点加载速度会更快
以下是我的代码摘要,以获得更好的想法:
$json_object = file_get_contents("https://graph.facebook.com/v2.10/367712570004555/posts?fields=comments,full_picture,likes,message,picture,story,permalink_url,updated_time,from&access_token=12303302670122ZDzN5ucp8JzMf5VBDdY");
$feedarray = json_decode($json_object);
foreach ($feedarray->data as $key => $feed_data)
{
$json_insights = file_get_contents("https://graph.facebook.com/v2.10/".$feed_data->id."/insights/post_impressions?access_token=EAACEdEose0cBANjKErkMLhCgmZBBrgLn8KtZBW2d6JbWz7sZAivld67JxvP8MqyZCs9xg3Bh11lzETOwd64LIpAPp3zbstu8ELFZC8HOwYyxckqJ60WQcVL1FqB3iy5L3oRCsFSQA7MzHGgcqIYxsjAlJomYrOMZCqo6PwZDZD");
$views = $insights->data[0]->values[0]->value;
echo $views;
}
您可以使用语法一次完成这一切:
.../367712570004555/posts?fields=comments,...,insights.metric(post_impressions)
您可以使用语法一次完成这一切:
.../367712570004555/posts?fields=comments,...,insights.metric(post_impressions)
好的,很好,一个简单的问题(如果它足够大,可以放一篇新文章,那么我就发一篇)。如何将访问令牌更改为永久令牌?因为我突然收到一个错误的请求,当我检查请求时,我看到:验证访问令牌时出错:会话已于PDT 2017年9月26日星期二03:00:00过期。当前时间是星期二,2017年9月26日03:05:13 PDT。
解释了如何延长令牌生存期。好的,很好,一个简单的问题(如果它足够大,可以发布一篇新文章,那么我将发布一篇)。如何将访问令牌更改为永久令牌?因为我突然收到一个错误的请求,当我检查请求时,我看到:验证访问令牌时出错:会话已于PDT 2017年9月26日星期二03:00:00过期。当前时间为PDT时间17年9月26日星期二03:05:13。
说明如何延长令牌生存期。