我正在尝试从特定的Facebook页面获取洞察力,但无关紧要,哪个用户请求页面。 但我无法弄明白该怎么做。
我已经制作了这段代码,以便在Graph explorer中使用user-accessToken获取洞察力。
require 'facebook/src/facebook.php';
$facebook = new Facebook(array(
'appId' => '551080774957462',
'secret' => 'f821960b551440b80eecd2dc0a0eff2e',
));
//AccessToken from Graph explorer
$user_access_token = "CAAH1NH3VeZAYBAGbEZAeMgwwLOxKKmUqtUtbXT6kaO........";
$facebook->setAccessToken($user_access_token);
$facebook->getUser();
//Gets all pages
$user_accounts = $facebook->api("/me/accounts/");
$pageAccessToken = "";
//Find the right page
foreach ($user_accounts["data"] as $page)
if ("476015619078252" == $page["id"])
$pageAccessToken = $page["access_token"];
$facebook->setAccessToken($pageAccessToken);
$insights = $facebook->api("/476015619078252_$postID/insights");
问题在于,图表浏览器的AccessToken在几个小时后仍然过期。
谢谢!
答案 0 :(得分:1)
我认为你可以使用用户令牌代替页面令牌
<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID_HERE',
'secret' => 'SECRET_HERE',
));
$fbID = $facebook->getUser();
$pages = $facebook->api('/me/accounts');
$pageID = $pages['data'][0]['id'];
$insights = $facebook->api('/'.$pageID.'/insights');
echo '<pre>';
print_r($insights);
exit;
?>
您可以传递params,以获取特定的日期范围结果..
干杯。