首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Gmail API NodeJS授权时出现消息列表错误

使用Gmail API NodeJS授权时出现消息列表错误
EN

Stack Overflow用户
提问于 2018-10-04 16:55:59
回答 1查看 803关注 0票数 1

我写了一个简单的代码来列出来自我的gmail帐户的消息。然而,在上我得到了一个401错误。我的代码如下

const gmailKey = google.gmail({version: 'v1', oauth2Client});

var initialRequest = gmailKey.users.messages.list({
    'userId': 'me'
});
getPageOfMessages(initialRequest, []);

var getPageOfMessages = function(request, result) {
    request.execute(function(resp) {
        result = result.concat(resp.messages);
        var nextPageToken = resp.nextPageToken;
            if (nextPageToken) {
                request = gmail.users.messages.list({
                    'userId': 'me',
                    'pageToken': nextPageToken
                });
                getPageOfMessages(request, result);
            }else{
                callback(result);
            }
    });
};

错误是

code: 401,
errors:
[{ domain: 'global',
   reason: 'required',
   message: 'Login Required',
   locationType: 'header',
   location: 'Authorization' }]

oauth2Client如下所示

const oauth2Client = new google.auth.OAuth2(
    CLIENT_ID,
    CLIENT_SECRET,
    REDIRECT_URL
);

我使用相同的oauth2Client来获取访问令牌,并在.credentials小节中对其进行了验证。我还确保初始化gmailKey的oauth2Client包含适当的凭据。

如何解决gmail授权问题?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2018-10-17 07:29:30

如果你仍然有这个问题,不设置授权的问题在你粘贴的第一行代码中:

const gmailKey = google.gmail({version: 'v1', oauth2Client});

设置oauth2Client的正确方法是:

const gmailKey = google.gmail({version: 'v1', auth: oauth2Client });

google.options({ auth: oauth2Client }); // sets globally const gmailKey = google.gmail('v1');

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52642794

复制
相关文章

相似问题

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