hello i want use the gmail api, but i get next error
Cannot read property 'parts' of undefined
when i try get attachments from gmail emails, this is my code is from gmail api expamles, i try send
getAttachments('me',message.id , avCallBack); AND getAttachments('me',message , avCallBack);
but this not work, pls helpme, i want download files from my emails with api google javascript
function displayInbox() {
var request = gapi.client.gmail.users.messages.list({
'userId': 'me',
'labelIds': 'INBOX',
'maxResults': 15
});
request.execute(function(response) {
$.each(response.messages, function() {
var messageRequest = gapi.client.gmail.users.messages.get({
'userId': 'me',
'id': this.id
});
console.log("---"+JSON.stringify(messageRequest));
messageRequest.execute(appendMessageRow);
});
});
}
function appendMessageRow(message) {
getAttachments('me',message.id , avCallBack);
$('.table-inbox tbody').append(
'<tr>\
<td>'+getHeader(message.payload.headers, 'From')+'</td>\
<td>\
<a href="#message-modal-' + message.id +
'" data-toggle="modal" id="message-link-' + message.id+'">' +
getHeader(message.payload.headers, 'Subject') +
'</a>\
</td>\
<td>'+getHeader(message.payload.headers, 'Date')+'</td>\
</tr>'
);
function getHeader(headers, index) {
var header = '';
$.each(headers, function(){
if(this.name === index){
header = this.value;
}
});
return header;
}
}
function getAttachments(userId, message, callback) {
var parts = message.payload.parts;
for (var i = 0; i < parts.length; i++) {
var part = parts[i];
if (part.filename && part.filename.length > 0) {
var attachId = part.body.attachmentId;
var request = gapi.client.gmail.users.messages.attachments.get({
'id': attachId,
'messageId': message.id,
'userId': userId
});
request.execute(function(attachment) {
callback(part.filename, part.mimeType, attachment);
});
}
}
}
function avCallBack(name, mimetype, filee){
alert ("->" + name + mimetype + file);
}