【问题标题】:Cant get users posts with facebook php sdk无法使用 facebook php sdk 获取用户帖子
【发布时间】:2013-08-09 11:45:33
【问题描述】:

当我尝试让用户发帖时,它只显示“Array ([data] => Array ())”(配置文件显示,我可以发布到墙上)。当我将“我”更改为公共页面时,它会起作用。登录链接和用户信息显示。请帮帮我,我不明白为什么它不起作用!

<?php
session_start();
require 'facebook/facebook-php-sdk/src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => 'xxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxx',
));
// Get User ID
$user = $facebook->getUser();

if ($user)
{
    $url = $facebook->getLogoutUrl();
}
else
{
    $url = $facebook->getLoginUrl();
}

if ($user) {
  try {
      $pageFeed = $facebook->api('me' . '/feed');
      print_r($pageFeed);
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
        error_log($e);
    $user = null;
  }
}
?>

<a href="<?php echo $url; ?>">LOGIN!</a>
<pre><?php print_r($user_profile); ?></pre>

【问题讨论】:

    标签: php oauth facebook-php-sdk


    【解决方案1】:

    您需要登录时的 read_stream 权限。 所以您需要用以下内容替换您的 getLoginUrl() 调用。 您还可以添加更多以逗号分隔的权限, 例如:'read_stream、publish_stream 等...'

    $url = $facebook->getLoginUrl(array('scope' => 'read_stream'));
    

    【讨论】:

    • 有没有办法只显示登录 facebook 时看到的内容?
    • 您是在谈论新闻提要吗?没有直接的方法可以做到这一点。看看这个:goo.gl/5vIBv2
    • 我找到了一种方法,我使用了: $pageFeed = $facebook->api('me' . '/home');而不是 $pageFeed = $facebook->api('me' . '/feed');
    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 2014-08-30
    相关资源
    最近更新 更多