【问题标题】:Facebook API & OAUTH - Request Permission before displaying appFacebook API 和 OAUTH - 在显示应用程序之前请求权限
【发布时间】:2012-04-30 09:59:36
【问题描述】:

我安装了一个 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 请求权限并设置一些权限。然后将它们重定向到 // 如果我们的页面上有粉丝。

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

【问题讨论】:

  • 您能否添加更多有关您的应用的信息?它是一个页面标签应用程序,还是一个画布应用程序,还是用户从 Facebook 登陆您的网站?
  • 用户登陆 facebook 内的时间线页面。
  • @Connor Treacy 用户正在登陆 facebook 内的时间线页面选项卡应用程序。我无法添加完整的代码,因为我没有足够的字符!
  • 该应用程序正在运行,如果您的页面上没有粉丝,我可以使用 // 将它们引导到不同的页面。我正在寻找的是如何配置 facebook 请求权限诊断框。

标签: facebook request


【解决方案1】:

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

1) 通过设置url在页面中打开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' });

【讨论】:

  • 非常感谢您的回复,我会在此之前给出。如果用户在 OAUth 请求上单击取消,这是否也包括该选项?
  • 是的,在第一个选项中,您将被带回最后一页,在 else 块中的第二个选项中,您可以处理重定向用户的位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-31
  • 1970-01-01
  • 2017-05-07
  • 2012-06-01
  • 1970-01-01
相关资源
最近更新 更多