2011-11-06 66 views
0

我有一种情况,用户可能已经对我的应用程序进行了基本访问认证,但在某些页面上,我希望利用新的Open Graph API并能够将操作发布到他们的墙上。所以我试图检查他们是否给了我的网站这个权限,如果他们没有给他们一个选项来添加这个权限。这里是我的代码:(?可能是因为我已经在技术上登录)提示使用Facebook的权限PHP

<?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>'; 
} 

?> 

,当我点击它重定向直接回到同一页面的登录链接,而不提示权限是什么目前这段代码是干什么的。当然,我还没有得到许可,所以我回到了原点。

那么如何提示已经登录的用户的权限呢?我正在使用在应用角色中创建的测试用户,如果它有任何方位

回答

0

我也有这个问题。但就我而言,在我发布网站之前,我会测试一切,就像你正在做的那样,试试这个。转到Facebook上的测试用户帐户。然后进入帐户设置,然后进入应用程序设置(位于左侧栏)。从那里删除您的网站或应用程序,以便您将删除其权限。然后尝试再次访问您的应用程序,它现在会提示输入新的权限。

+0

感谢您的回复,但我后来发现这不是我的问题。这是因为我正在请求publish_actions权限,直到Timeline/Open图出来才能使用。如果我尝试其他权限,我会提示确定 –