1

我正在使用 Facebook JS SDK 开发 Facebook Page Tab 应用程序。登陆页面有一个按钮。单击后,如果用户尚未安装该应用程序,则会要求他们安装该应用程序。

代码如下:

<script type="text/javascript"> 
function installApp() {
    FB.login(function(response) {
        if (response.authResponse) {
            var accessToken = response.authResponse.accessToken;
        }
        if (response.status === 'connected') {
            window.location = 'share.php';
        } else {
            alert('Please install app first');
        }
    }, {scope:'friends_likes,email'});
}
</script> 

默认情况下, FB.Login会弹出一个请求权限的框。有没有其他方法可以避免弹出框?我已经看到其他 Facebook 应用程序成功地实现了这一点,但我不知道他们是如何做到的。

4

2 回答 2

3

您可以将 Javascript Api 与 Graph Api 调用一起使用,

function fbLogin() {
    var oauth_url = 'https://www.facebook.com/dialog/oauth/';
    oauth_url += '?client_id=APP_ID_HERE';
    oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/APP_NAMESPACE/');
    oauth_url += '&scope=email'
    window.top.location = oauth_url;
}

然后您可以使用 onclick 事件在自定义按钮中调用它:

<a href="#" onclick="return fbLogin();">Custom Login</a>
于 2012-04-05T08:03:38.243 回答
1

您是否浏览过身份验证文档

它几乎涵盖了您可以使用的所有选项。IE:

  1. 客户端身份验证
  2. 服务器端身份验证
  3. 页面选项卡内的身份验证

您可能可以使用任何这些方法,但第 3 种可能最适合。

于 2012-04-05T07:39:32.383 回答