【问题标题】:Get insights from specific page从特定页面获取见解
【发布时间】:2013-07-25 20:35:32
【问题描述】:

我正在尝试从特定的 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");

问题在于,Graph explorer 的 AccessToken 总是在几个小时后过期。

谢谢!

【问题讨论】:

  • 为什么不只使用长寿命令牌?这记录在这里:developers.facebook.com/docs/facebook-login/access-tokens
  • 感谢您的回答 :) 您知道长寿令牌的寿命有多长吗? :)
  • 长达 60 天无需更新 - 使用长期用户访问令牌获取的页面访问令牌也将无限期保持活动状态

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


【解决方案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;
?>

您可以传递参数 since 以获得特定日期范围的结果..

干杯。

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    相关资源
    最近更新 更多