Google OAuth2 Javascript客户端无法正常运行

时间:2015-01-15 02:24:55

标签: mobile google-authentication google-api-js-client

我正在编写一个需要从用户向系统管理员发送电子邮件的网络应用。要做到这一点,我正在使用谷歌的Gmail API。这需要授权。以下代码段在使用桌面时成功授权,但在移动设备上失败。

this.sendEmail = function(to, body, attachments, callback) {

    _to = to;
    _body = body;
    _attachments = [attachments];
    _callback = callback;

    gapi.client.setApiKey('MY_API_KEY');
    gapi.client.load('gmail', 'v1').then(_authorize);
}

function _authorize(){

    var config = {
        'client_id': MY_CLIENT_ID,
        'scope': 'https://www.googleapis.com/auth/gmail.compose',
    }; 

    gapi.auth.authorize(config, _sendEmail);
}

function _sendEmail(){
// code to actually send my email
}
在移动设备上,它弹出一个新选项卡并提示用户登录,然后没有。它永远不会击中我的“_sendEmail”回调。如果用户已经登录,则只会弹出一个空白窗口(它仍然不会响应回调)。

如果我将“immediate:true”添加到配置对象,那么如果用户已经登录到他们的谷歌帐户,它会在移动设备上通过,但如果不是,则会失败。

我做错了什么或者这在移动设备上运行得不好?

由于

0 个答案:

没有答案