簡體   English   中英

檢索Facebook Page牆上的帖子

[英]Retrieve Facebook Page wall posts

我想將FB Page牆包含在網站中。 為此,我需要訪問令牌,但是在FB上,我是管理員之一,而不是所有者。

當我請求訪問令牌時,我得到的是我的個人資料之一,而不是我正在管理的個人資料。 我可以以管理員身份而非所有者身份獲得該牆的令牌嗎?

如果您查看http://developers.facebook.com/docs/authentication/ ,則可以看到有一些以應用程序或頁面身份登錄的選項:這些選項應該可以為您提供所需的訪問令牌。

來自: http : //developers.facebook.com/docs/reference/api/permissions/

“頁面access_token

用於管理頁面的access_token。 當您要執行充當頁面的操作時使用此功能。 通過向/ USER_ID / accounts或具有manage_pages權限的/ PAGE_ID?fields = access_token發出HTTP GET,可以檢索此訪問令牌。 獲取/ USER_ID / accounts會返回用戶具有管理訪問權限的頁面列表(包括應用程序配置文件頁面),以及每個頁面的access_token。 注意:2011年9月22日之后,通過此連接對用戶頁面的所有訪問都將需要manage_pages權限,即,既要讀取用戶頁面,又要檢索這些頁面的access_tokens。 有關更多信息,請參見User對象的文檔。”

Facebook 擴展page對象,使其更易於檢索“頁面”`access_token“,您需要的是:

  • manage_pages和read_stream 權限
  • page_id
  • 類似於我文章中的代碼:

PS:我正在使用PHP-SDK

<?php
// This code is just a snippet of the example.php script
// from the PHP-SDK <http://github.com/facebook/php-sdk/blob/master/examples/example.php>
require '../src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => 'app_id',
  'secret' => 'app_secret',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
    $page_id = 'page_id';
    $page_info = $facebook->api("/$page_id?fields=access_token");
    if( !empty($page_info['access_token']) ) {
        $args = array(
            'access_token'  => $page_info['access_token']
        );
        $page_posts = $facebook->api("/$page_id/posts","get",$args);
    }
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,read_stream'));
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM