当我试图让用户发布时,它只显示"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>
登录时需要read_stream权限。因此,您需要将getLoginUrl()调用替换为以下内容。您还可以添加更多用逗号分隔的权限,例如:"read_stream、publish_stream等…"
$url = $facebook->getLoginUrl(array('scope' => 'read_stream'));