2016-11-30 63 views
1

我是新来的节点,我想获取有关我的Gmail邮件的信息,例如谁写了邮件和文本。 我遵循快速入门示例并编写以下代码,但输出中只有'id'和'threadId'字段。如何从消息列表中获取'payload'属性? Gmail API

function listMessages(auth) { 
    var gmail = google.gmail('v1'); 
    gmail.users.messages.list({ 
     auth: auth, 
     userId: 'me' 
    }, function(err, response) { 
     if (err) { 
      console.log('The API returned an error: ' + err); 
      return; 
     } 
     var messages = response.messages; 
     if (messages.length == 0) { 
      console.log('No messages found.'); 
     } else { 
      console.log('Messages:'); 
      for (var i = 0; i < messages.length; i++) { 
       var message = messages[i]; 
       console.log(message); 
      } 
     } 
    }); 
} 

有人可以解释我吗?谢谢。

回答

1
function getMessage(userId, messageId, callback) { 
    var request = gapi.client.gmail.users.messages.get({ 
    'userId': userId, 
    'id': messageId 
    }); 
    request.execute(callback); 
} 

添加 “me” 作为userIdmessageId申请添加您的留言ID。其他字段是可选的。

2

messages.list() API仅通过设计返回消息ID和线程ID。如果您需要了解这些消息的详细信息,则需要另一个API调用messages.get()来获取每条消息的具体详情。

API参考: https://developers.google.com/gmail/api/v1/reference/users/messages/get

虽然这工作,你可能想看看的GMail的批量操作,允许收取邮件的细节在一个呼叫(有限制虽然)。

谷歌的批导: https://developers.google.com/gmail/api/guides/batch

类似的查询已经在这里找到答案在SO: