【发布时间】:2019-03-09 14:44:17
【问题描述】:
我编写了一个简单的代码来列出来自我的 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授权问题?
提前致谢
【问题讨论】:
标签: javascript node.js google-oauth gmail-api google-api-nodejs-client