从特定页面获取见解

时间:2013-07-25 19:07:39

标签: php facebook-graph-api facebook-php-sdk facebook-page

我正在尝试从特定的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在几个小时后仍然过期。

谢谢!

1 个答案:

答案 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,以获取特定的日期范围结果..

干杯。