如何从我的 Gmail 收件箱中获取有时间限制的 IOS SDK 中的电子邮件?
Posted
技术标签:
【中文标题】如何从我的 Gmail 收件箱中获取有时间限制的 IOS SDK 中的电子邮件?【英文标题】:How to fetch emails from my Gmail Inbox that are in a time bound IOS SDK? 【发布时间】:2017-11-12 06:26:52 【问题描述】:我想从我的 Gmail 收件箱中提取电子邮件。我知道我可以使用 Google Search API:
("GET https://www.googleapis.com/gmail/v1/users/me/messages?q="in:sent after:2014/01/01 before:2014/01/30" ").
我可以使用
以分页方式成功获取电子邮件 let batchQuery = GTLRBatchQuery ()
for message in labelsResponse.messages!
let query = GTLRGmailQuery_UsersMessagesGet.query(withUserId: "me", identifier: message.identifier!)
query.format = kGTLRGmailFormatFull
batchQuery.addQuery(query)
self.service.shouldFetchNextPages = true
self.service.executeQuery(batchQuery,
delegate: self,
didFinish: #selector(self.displayMessageDetailsList(_:finishedWithObject:error:)))
但我不知道如何查询 Google Message search API 并执行该查询。
【问题讨论】:
【参考方案1】:您正在使用 GTLRGmailQuery_UsersMessagesGet
哪个 AFAIK,只收到一个特定的(一个)邮件。
您应该改用GTLRGmailQuery_UsersMessagesList
,您可以在其中实际使用q
属性到search messages, the same way like in the RESTful API:
@property(复制,可为空)NSString *q
讨论
只返回匹配指定查询的消息。支持与 Gmail 搜索框相同的查询格式。例如,“from:someuser\@example.com rfc822msgid:is:unread”。
在 GTLRGmailQuery.h 中声明
【讨论】:
嗨,Al 我写了这个 query.q = "in:inbox after:2016/01/01 before:2017/01/1" 以获取日期为 in 的邮件,但你能告诉我应该什么查询写来获取那些有日期的邮件,并且在他们的内容中有一个词,例如“银行”...... AFAIK,您不能使用搜索正文(参见 here,但您可以在标题中使用contains
进行搜索。以上是关于如何从我的 Gmail 收件箱中获取有时间限制的 IOS SDK 中的电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
添加用户电子邮件以使用 Gmail API 从收件箱中读取特定电子邮件