GMail API - messages().list() 仅返回消息 ID

Posted

技术标签:

【中文标题】GMail API - messages().list() 仅返回消息 ID【英文标题】:GMail API - messages().list() only returns message IDs 【发布时间】:2018-02-22 20:12:59 【问题描述】:

list() 方法仅返回消息 ID 列表,没有任何其他消息元数据。 有SO帖子from 2014和2016,但official documentation声明响应是user.messages resource的列表...

文档是错误的还是有其他方法可以做到这一点?我知道将整个消息带入“列表”调用对于 REST API 调用来说效率不高 - 但也许返回“一些”元数据是有意义的(例如 service.users().messages().get(.. ., format='metadata')) 而不是调用 list() 然后为每条消息调用 get(..., format='metadata')

谢谢!

M

【问题讨论】:

需要列出消息id,然后分别获取每条消息。可悲的是,没有办法解决这个问题。如果您收到batch request 中的所有消息,则可以将请求总数从1 + N of messages 减少到2。 @Tholle 好答案 谢谢@Tholle 我想,只是希望文档是正确的;) 是的,显然文档不正确。 【参考方案1】:
gmail.users.messages.get(
auth: auth,
userId: 'me',
id: messageid,
format: "raw"
, function (err, response)  
);

您必须使用每个 messageid 调用上述 api。响应将是相应电子邮件的原始数据

【讨论】:

以上是关于GMail API - messages().list() 仅返回消息 ID的主要内容,如果未能解决你的问题,请参考以下文章

Gmail API 批量获得支持?

Gmail API:在使用查询执行 messages.list 时,有没有办法获取 RFC822 消息 ID?

Gmail REST API 获取消息函数返回无效的 historyId

如何在 Nodejs 中使用 gmail api 在同一对话中回复电子邮件

Gmail api与Postman发送

如何创建 Gmail API 消息