使用Facebook PHP提示权限

时间:2011-11-06 13:08:25

标签: facebook facebook-php-sdk

我的情况是用户可能已经对我的应用进行了基本访问的身份验证,但在某些页面上,我希望利用新的Open Graph API并能够将操作发布到他们的墙上。所以我试图检查他们是否给了我的网站这个权限,如果他们没有给他们一个添加该权限的选项。这是我的代码:

<?php
require 'fbphp/facebook.php';

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

$permissions = $facebook->api("/me/permissions");
if( array_key_exists('publish_actions', $permissions['data'][0]) ) {
    // Permission is granted!
    echo "we have permission";
} else {
    // We don't have the permission
    echo "no perms";
     $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_actions' ) );
      echo 'Please <a href="' . $login_url . '">login.</a>';
}

?>

此代码目前正在执行的操作是当我单击登录链接时,它会直接重定向到同一页面而不提示权限(可能是因为我已经在技术上登录了?)。当然我还没有获得许可,所以我回到了第一个方位。

那么如何为已经登录的人提示权限?我正在使用在app角色中创建的测试用户,如果它有任何影响

1 个答案:

答案 0 :(得分:0)

我也有这个问题。但在我的情况下,在我发布网站之前,我会像你一样测试所有内容,所以,试试这个。转到Facebook本身的测试用户帐户。然后转到帐户设置,然后转到应用程序设置(位于左侧栏)。从那里删除您的网站或应用程序,因此您将删除其权限。然后尝试再次访问您的应用,它现在将提示您获取新权限。

相关问题