【发布时间】:2018-07-09 14:04:30
【问题描述】:
我正在尝试使用gmail api reference 中描述的格式的原始选项获取带有正文内容的完整电子邮件数据。它似乎不起作用。以下是我的代码:
function listMessages(auth) {
var gmail = google.gmail('v1');
var nextPageToken = null;
gmail.users.messages.list({
auth: auth,
userId: 'me',
pageToken: nextPageToken,
q: ''
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var msgs = response.messages;
if (msgs.length == 0) {
console.log('No messages found.');
} else {
console.log('Messages:');
the_format = 'raw';
for (var i = 0; i < msgs.length; i++) {
var msg = msgs[i];
console.log('- %s', msg.id);
gmail.users.messages.get({
auth: auth,
userId: 'me',
id: msg.id,
format: the_format,
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
console.log(response);
});
}
}
});
}
这里是一个返回结果的例子。我没有看到原始字段,当我更改“格式”(原始或最小)时,总是返回相同的结果。
我在这里错过了什么?
{ id: '16xxxxxxxxxxxxxxxxxx',
threadId: '161xxxxxxxxxxxxxxxx',
labelIds: [ 'UNREAD', 'Label_44', 'CATEGORY_UPDATES' ],
snippet: 'atom posted: "Voici le 9e volet de notre rubrique À quoi tu joues ? Aujourd'hui la Testing Team vous embarque au Japon, avec Sakura. S'est perdu dans un manoir infernal, ou a défendu un',
historyId: '11336356',
internalDate: '1516xxxxxxxxx',
payload:
{ partId: '',
mimeType: 'multipart/alternative',
filename: '',
headers:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ],
body: { size: 0 },
parts: [ [Object], [Object] ] },
sizeEstimate: 98391 }
【问题讨论】:
-
它在您问题中包含的链接中的 API Explorer 中对您有用吗?您可能必须以小写形式给出格式,即
raw。 -
我建议转到Users.messages.get Try-it 来测试您正在尝试做什么。提供 userId 和 id,然后有一个“格式”参数,您可以在其中选择使用完整、元数据、最小和原始。
-
我的错误,我已经尝试了“原始”和“原始”以及“最小”或其他选项,但没有任何选项会改变结果。我总是收到相同的“完整”信息。我也尝试过使用 API Explorer 并且它可以工作。我希望原始消息格式像和电子邮件一样轻松重新导入。 python api 包也可以完美运行。 nodejs 有错误还是我错误地传递了格式选项?
-
您有什么方法可以记录发出的请求吗?您的问题和this other question 表明Nodejs 库中可能存在错误。
标签: javascript node.js gmail-api