我有以下代码,正在其他程序中成功使用

index.html
    
    
    
        吃新鲜
        
        
        
    
    
    

</html>


init.js

function init() {
    CLIENT_ID = "927885761089.apps.googleusercontent.com"
    SCOPES = ["https://www.googleapis.com/auth/userinfo.email"]
    gapi.client.load('oauth2', 'v2', signin)
}

function signin() {
    gapi.auth.authorize({client_id: CLIENT_ID, scope: SCOPES, immediate: true}, userAuthed)
}

function userAuthed() {
    console.log(gapi.auth.getToken())
    console.log(gapi.auth.getToken().accessToken)
    gapi.client.oauth2.userinfo.get().execute(function(resp) {
    checkEmail(resp)
    })
}

function checkEmail(user) {
    var validEmail = (whiteList.indexOf(user.email) !== -1)
    if (!user.code && validEmail) {
        startApp()
    } else {
        displayError(user.email)
    }
}


gapi.auth.getToken()返回null,据我所知,这意味着我尚未登录。我不知道如何刷新登录名或强制注销。任何帮助,将不胜感激。

最佳答案

更改以下内容

gapi.auth.authorize({client_id: CLIENT_ID, scope: SCOPES, immediate: false}, userAuthed)


会提示用户授予该应用程序的许可,从而允许使用授权的访问令牌,并使其余代码正常工作。

关于javascript - Google App Engine授权返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23654749/

10-12 03:26