【问题标题】:iOS Gmail API - Sample code to retrieve Gmail messages for a given label in Swift 4 / Xcode9iOS Gmail API - 在 Swift 4 / Xcode9 中检索给定标签的 Gmail 邮件的示例代码
【发布时间】:2017-11-01 21:17:59
【问题描述】:

stackoverflow.com 上的第一个问题,希望我做对了!

我目前使用Gmail API web site 中提供的示例有以下代码(Xcode 9 / Swift 4),效果很好:

let query = GTLRGmailQuery_UsersMessagesList.query(withUserId: "me")
service.executeQuery(query,
                         delegate: self,
                         didFinish: #selector(displayResultWithTicket2(ticket:finishedWithObject:error:))

但是,我不想检索“我”的所有电子邮件,而只想检索给定标签的电子邮件。 Google 在其 API 参考中有一个示例 here,其中一个参数可以是标签,但不幸的是我找不到等效的 Swift 代码。它们“仅”涵盖:Java、.Net、Php、Python 和 Javascript。

我的问题是:如何在 Swift 中编写代码? “GTLRGmailQuery_UsersMessagesList.query”上面的方法只接受一个用户ID。

另外,example 提到了 HTTP 请求和参数(特别是“q”)的使用,我可以在 Swift 中使用它吗?如何使用?

谢谢!

【问题讨论】:

    标签: gmail-api ios11 swift4 xcode9


    【解决方案1】:

    哦,天哪,这太简单了!在第一行代码(让查询...)之后,您只需要调用“查询”的属性,例如

    let query = GTLRGmailQuery_UsersMessagesList.query(withUserId: "me")
    query.q = "is_unread"
    service.executeQuery(query,
                             delegate: self,
                             didFinish: #selector(displayResultWithTicket2(ticket:finishedWithObject:error:))
    

    我要学习很多东西!但希望这对某人有用!

    【讨论】:

    • 感谢 Christope,不完全是我想要的,但您的代码帮助我指明了正确的方向。用于 swift 的 gmail api 的文档几乎不存在并且非常差。
    • 很高兴它以某种方式有所帮助!
    • 所以我又陷入了困境。基本上,我如何使用只读范围内的 api 调用令牌授权 GTLGMailService。看过很多代码示例,但它们都是 Obj c。我想要一个 Swift 项目中的示例。我还需要在 swift 中查看有关 GTMAppAuth 库的解释
    • 我对 GTLRGmailQuery_UsersMessagesList.query 的调用导致错误提示需要登录。您是如何为此解决方案构建和授权方法的?
    • 嗨,我很抱歉,但我两年前就这样做了,所以我不再确定,我不能再访问我的源代码了。我似乎唯一记得的是,谷歌也有一个用于 Swift 的“入门工具包”,我最初用于登录过程。也许再朝这个方向搜索?
    猜你喜欢
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 2016-04-03
    • 2017-03-07
    • 2020-08-24
    • 1970-01-01
    相关资源
    最近更新 更多