我的申请需要新的许可。
如何扩展(重新获取)权限?
谢谢!
答案 0 :(得分:2)
这不可能以编程方式进行。
用户必须从其隐私设置中“删除”该应用程序,然后重试
答案 1 :(得分:2)
替换app主脚本的app_id,url并添加所需的权限(范围)。然后将此字符串放入浏览器并按Enter;) https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
答案 2 :(得分:2)
您也可以使用Facebook Javascript SDK执行此操作:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_EN/all.js"></script>
<script>
FB.init({
appId : 'your app id',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
<script>
function askPermission() {
FB.login(function(response) {
if (response.session) {
/* New permissions granted */
var newAccessToken = response.session.access_token;
}
}, {perms:'email'});
}
</script>
答案 3 :(得分:0)
我的应用程序首先要求基本权限,然后我将其更改为要求在php中使用以下代码进行扩展:
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
));
$user = $facebook->getUser();
$user_profile = $facebook->api('/me');
if( array_key_exists('publish_stream', $permissions['data'][0]) ) {
// Permission is granted!
// Do the related task
//$post_id = $facebook->api('/me/feed', 'post', array('message'=>'Hello World!'));
$post_id = $facebook->api('/me/feed', 'post', $attachment);
} else {
// We don't have the permission
// Alert the user or ask for the permission!
echo "Click Below to Enter!";
header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream")) );
}
如果用户尚未授予扩展权限,则else部分会要求许可。