首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从javascript SDK的FB.login方法中获取访问令牌

如何从javascript SDK的FB.login方法中获取访问令牌
EN

Stack Overflow用户
提问于 2011-01-21 20:26:59
回答 6查看 127.2K关注 0票数 56

我需要从Javascript SDK中的FB.login方法获取访问令牌。我的登录码是

代码语言:javascript
复制
FB.login(function(response) {
    if (response.session) {
        if (response.perms) {

        } else {
            // user is logged in, but did not grant any permissions
            alert("No Permission..");
        }
    } else {
        // user is not logged in
        alert("Please login to facebook");
    }
}, {perms:'read_stream,publish_stream,offline_access'});

有什么方法可以获取访问令牌吗?我可以使用PHP获取访问令牌。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-21 23:48:20

您可以使用FB.getAuthResponse()['accessToken']获取访问令牌

代码语言:javascript
复制
FB.login(function(response) {
   if (response.authResponse) {
     var access_token =   FB.getAuthResponse()['accessToken'];
     console.log('Access Token = '+ access_token);
     FB.api('/me', function(response) {
     console.log('Good to see you, ' + response.name + '.');
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: ''});

编辑:更新为使用Oauth 2.0,自2011年12月起需要。现在使用FB.getAuthResponse();如果您使用的浏览器没有控制台(我是在跟您说,Internet Explorer),请务必注释掉console.log行或使用日志故障安全脚本,例如:

代码语言:javascript
复制
if (typeof(console) == "undefined") { console = {}; } 
if (typeof(console.log) == "undefined") { console.log = function() { return 0; } }
票数 120
EN

Stack Overflow用户

发布于 2012-01-26 18:53:33

response.session.access_token在我的代码中不起作用。但这是可行的:response.authResponse.accessToken

代码语言:javascript
复制
     FB.login(function(response) { alert(response.authResponse.accessToken);
     }, {perms:'read_stream,publish_stream,offline_access'});
票数 12
EN

Stack Overflow用户

发布于 2014-02-20 22:22:31

https://developers.facebook.com/docs/facebook-login/login-flow-for-web/

代码语言:javascript
复制
{
    status: 'connected',
    authResponse: {
        accessToken: '...',
        expiresIn:'...',
        signedRequest:'...',
        userID:'...'
    }
}


FB.login(function(response) {
    if (response.authResponse) {
        // The person logged into your app
    } else {
        // The person cancelled the login dialog
    }
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4758770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档