【问题标题】:Facebook PHP API code not working with "Pages" to get Wall postsFacebook PHP API 代码不能与“Pages”一起使用以获取 Wall 帖子
【发布时间】:2011-08-03 00:08:16
【问题描述】:
<?php
require '../src/facebook.php';
try
{
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => '120875194666085',
  'secret' => '0272027b5c5c1dabde81096497970c56',
  'scope' => 'read_stream',
));

$user = $facebook->getUser();


if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me/feed');

  } 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' => 'read_stream'));
}

}
catch(FacebookApiException $e){}
?>
<?php

     if ($user): ?>
    <?php else: ?>
      <div>
        Login using OAuth 2.0 handled by the PHP SDK:
        <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
      </div>
    <?php endif ?>

    <?php if ($user): ?>

    <?php 
        for($i = 0; $i < 25; $i++)
           {
        echo "<br />"; 
        echo $user_profile['data'][$i]['from']['name'];
              echo " : "; 
        echo $user_profile['data'][$i]['message']; 
           }
    ?>
    <?php endif ?>

这对于普通帐户来说效果很好,但是当我尝试使用 Facebook“页面”帐户登录时,它根本不起作用。在这件事上有什么帮助吗?此外,当我访问 Facebook Graphs API 文档时,即使是这些链接也无法为我提供正确的页面墙供稿。根据我收集到的信息,我必须 https://graph.facebook.com/[公司页面 id]/feed??access_token=[access_token] 让它工作(我不知道如何翻译成 Facebook API。

【问题讨论】:

    标签: php facebook api facebook-graph-api


    【解决方案1】:

    只要您有任何access_token,您就应该能够访问粉丝页面供稿。

    如果您有一个有效的授权用户登录

    $fan_page_feed = $facebook->api('/COMPANY_PAGE_ID/feed');
    

    将返回一个包含提要数据的 JSON 对象。

    或者,您可以使用应用程序 access_token 来获取信息。此示例从 Facebook Platfrom 页面获取提要(为简洁起见,脚本还假设一切都将正常运行 - 您应该根据自己的需要实现错误处理):

    <html><head></head>
    <body>
    <pre>
    <?php
    require ('facebook.php');
    
    $facebook = new Facebook(array(
                'appId'  => 'YOUR_APP_ID',
                'secret' => 'YOUR_APP_SECRET',
                'cookie' => true
            ));
    
    $result = $facebook->api('oauth/access_token', array('client_id'=>'YOUR_APP_ID', 'client_secret'=>'YOUR_APP_SECRET', 'grant_type'=>'client_credentials'));
    // $result should contain 'access_token=VALID_ACCESS_TOKEN'
    $access_token = explode('=',$result);
    $fan_page_feed = $facebook->api('/19292868552/feed', array('access_token'=>$access_token[1]));
    
    print_r($fan_page_feed);
    ?>
    </pre>
    </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 2017-10-19
      • 1970-01-01
      • 2018-04-27
      相关资源
      最近更新 更多