Facebook API& OAUTH - 在显示应用程序之前请求权限

时间:2012-04-30 09:59:36

标签: facebook request

我安装了一款Facebook应用,效果很好。 我想要做的是添加请求用户权限数据的功能。 例如 - read_friendlists,user_groups,email,user_birthday,status_update,publish_stream,

首先,这里是检查我们的Facebook时间线应用程序上是否有粉丝或没有粉丝的代码。

// If a fan is on your page
if ($like_status) {
$a = file_get_contents("http://www.domain.com/home.php");
echo ($a);
} 
else {
// If a non-fan is on your page
$a = file_get_contents("http://www.domain.com/home.php");
echo ($a);
}

我想做的是,如果我们页面上没有粉丝,请打开Facebook的权限请求并设置一些权限。如果我们页面上有粉丝,请将它们重定向到//。

我在这里好好看看,但我仍然不清楚如何设置权限页面的“请求”。 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

你可以通过两种方式做到这一点。

1)通过设置网址

打开页面中的oauth对话框
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?scope=email,user_birthday,user_location,user_about_me,user_likes';
oauth_url += '&client_id=' + appid;
oauth_url += '&redirect_uri=' + encodeURIComponent('https://www.facebook.com/pages/' +   appname + '/' + pageId + '/?sk=app_' + appid);

window.top.location = oauth_url;

2)或者您可以在弹出窗口中打开oauth对话框:

FB.login(function(loginResponse) {
    if (loginResponse.authResponse) {
        var userId = loginResponse.authResponse.userID;
    }
    else {
        //'User cancelled login or did not fully authorize.
    }
}, { scope: 'email,user_birthday,user_location' });