我必须专门使用请求模块。 我有刷新令牌和访问令牌。
request({
method: "GET",
uri:"https://www.googleapis.com/gmail/v1/users/me/threads",
headers: {
"access_token": 'access_token',
"refresh_token": 'refresh_token',
"token_type": 'Bearer',
"Content-Type": "application/json"
},
},
function(err, response, body) {
if(err){
console.log(err); // Failure
} else {
console.log(response);
// done(null);// Success!
}
});
每当我运行此操作时都会出现401错误,表示需要登录。 另外我如何使用特定的查询" q"并随请求发送。
答案 0 :(得分:0)
以下样本怎么样?
要使用此功能,请在示波器中加入https://mail.google.com/
,并在Google API控制台上启用Gmail API。如果您已经完成它们,请忽略它们。
我还包括" q"在脚本中。详细信息为https://developers.google.com/gmail/api/v1/reference/users/threads/list。请检查一下。
脚本:
var request = require('request');
request({
url: 'https://www.googleapis.com/gmail/v1/users/me/threads',
method: 'GET',
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer ### your access token ###"
},
qs: {
"q": "from:### mail address ###", // For example, a filter is added by ``from``.
"fields": "threads"
}
},
function (err, response, body) {
if(err){
console.log(err); // Failure
} else {
console.log(body);
// done(null);// Success!
}
});
答案 1 :(得分:0)
关注NodeJS Quickstart for Gmail。它已包含登录实现:
function authorize(credentials, callback) {
var clientSecret = credentials.installed.client_secret;
var clientId = credentials.installed.client_id;
var redirectUrl = credentials.installed.redirect_uris[0];
var auth = new googleAuth();
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
// Check if we have previously stored a token.
fs.readFile(TOKEN_PATH, function(err, token) {
if (err) {
getNewToken(oauth2Client, callback);
} else {
oauth2Client.credentials = JSON.parse(token);
callback(oauth2Client);
}
});
}
拨打Users.messages.list或 Users.threads.list时,请使用“q”。它包括JS样本供您参考:
request = gapi.client.gmail.users.messages.list({
'userId': userId,
'pageToken': nextPageToken,
'q': query
});
'q'仅返回与指定查询匹配的消息。支持 与Gmail搜索框相同的查询格式。例如, “from:someuser@example.com rfc822msgid:is:unread”。