我正在尝试使用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);
});
}
}
});
}
以下是返回结果的示例。当我更改'format'(raw或minimal)时,我看不到原始字段和返回相同的结果。
我在这里缺少什么?
{ 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 }
答案 0 :(得分:0)
您需要使用:
var msgs = response.data.messages;
代替:
var msgs = response.messages;
就是这样。