程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何使用图形 API 获取 Facebook 页面的本地见解?

发布于2023-01-18 00:29     阅读(1024)     评论(0)     点赞(6)     收藏(1)


我想使用图形 API 来关注 Facebook 页面的本地见解

  1. 附近的人:每小时
  2. 每周
  3. 总体
  4. 签到

请看屏幕截图。 图片


解决方案


您可以使用此代码获取页面洞察力并请求页面权限 ('manage_pages','pages_manage_cta') ,并首先从您喜欢的页面或托管页面获取页面 ID,并将代码中的页面 ID 替换为 YOUR_PAGE_ID。使用 FB php sdk 版本:facebook-php-sdk-v4-5.0-dev。

  $fb = new Facebook\Facebook([
  'app_id' => APP_ID,
  'app_secret' => APP_SECRET,
  'default_graph_version' => 'v2.4', // or use v2.5 latest version
  ]);

  $helper = $fb->getRedirectLoginHelper();

  $permissions = ['manage_pages','pages_manage_cta']; 

  $redirectUrl = 'http://localhost/fbapp.php';
  $loginUrl = $helper->getLoginUrl($redirectUrl, $permissions);

  echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';

生成登录 url 后,实现响应处理和获取所需数据的代码。

$helper = $fb->getRedirectLoginHelper();
try {
  $accessToken = $helper->getAccessToken();
  setcookie('accessToken',$accessToken);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$fb->setDefaultAccessToken($accessToken);

// Get user groups detail
$requestPageInsights = $fb->request('GET', '/YOUR_PAGE_ID/insights');

//Make a batch request
$batch = ['page-insights' => $requestPageInsights];

try {
  $responses = $fb->sendBatchRequest($batch);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
for a better view can use this:

foreach ($responses as $key => $response) {
  if ($response->isError()) {
    $e = $response->getThrownException();
    echo '<p>Error! Facebook SDK Said: ' . $e->getMessage() . "\n\n";
    echo '<p>Graph Said: ' . "\n\n";
    var_dump($e->getResponse());
  } else {
    echo "<p>(" . $key . ") HTTP status code: " . $response->getHttpStatusCode() . "<br />\n";
    echo "Response: " . $response->getBody() . "</p>\n\n";
    echo "<hr />\n\n";
  }
}

要获取其他详细信息,请访问并使用您的相关参数/范围https://developers.facebook.com/docs/graph-api/reference/v2.5/insights



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/473197/e11ea84d1df779598dd6/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)