扩展Facebook权限

时间:2011-09-05 18:12:24

标签: facebook facebook-graph-api

我的申请需要新的许可。
如何扩展(重新获取)权限?

谢谢!

4 个答案:

答案 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部分会要求许可。