以下是用于检查天气用户授予我权限的代码。如果用户拒绝权限,我的应用程序会再次将用户重定向到Facebook以获取权限。
<?php
if(isset($_REQUEST['error'])){//ok some error has occurred from Facebook
if(isset($_REQUEST['error_reason']) && $_REQUEST['error_reason']=='user_denied'){// ok so the error has occurred coz the user denied permissions!
require 'lib/facebook.php';
$facebook_appid='XXXXX';
$facebook_app_secret='XXXXX';
$facebook = new Facebook(array(
'appId' => $facebook_appid,
'secret' => $facebook_app_secret,
));
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,read_mailbox,publish_stream,user_birthday,user_location,read_stream,user_work_history,user_about_me,user_hometown'
)
);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
}
$pt['start']=microtime(true);
include_once "fblogin.php";
require 'lib/fbconfig.php';
$userdata=$facebook->api('/me');
$at= $facebook->getAccessToken();
// Now rest of code fetches users data and post message on wall
现在,如果用户拒绝权限,则执行上面的代码并再次将用户重定向到facebook.Now如果用户选择接受,则在facebook和我的画布URL之间存在无限重定向。 (顺便说一句,我的应用程序是基于iframe的应用程序在Facebook上)。 我如何解决它?另外,我如何检查用户是否已授予我所有扩展权限?