带有iOS的Gmail API – 收到电子邮件

我正在尝试了解Gmail API的工作原理。 我的目标是检索收件箱中所有用户电子邮件的列表,下载到NSArray

目前工作流程似乎如下:

  1. 使用Google提供的框架使用OAuth 2.0授权我的iOS应用。 我已完成此步骤,我的应用可以成功授权gmail帐户。

  2. 下载电子邮件:

    从文档中 ,似乎这是用于显示消息列表的API调用:

    获取https://www.googleapis.com/gmail/v1/users/userId/messages

我的问题:

我是否需要编写自己的Objective-C包装器来进行此API调用以下载消息,或者像MailCore这样的内容是否允许我更轻松地执行此操作? 据我了解,这个API取代了IMC ,这是MailCore实现的。

我了解如何在Python中执行此操作,例如https://developers.google.com/gmail/api/quickstart/quickstart-python,但我不知道如何将此代码移植到Objective-C。

基本工作流程是正确的,您有多种方法可以实现您想要的目标:

  1. Gmail API是一种RESTful API,可用于访问Gmail邮箱和发送邮件。 API支持Gmail用户界面提供的许多基本操作,如阅读,撰写和发送邮件。 它还允许您管理线程和消息上的标签,并查询特定的消息和线程。

    • 您可以围绕API编写自己的Objective-C包装器,以便对API参考中描述的不同端点发出正确的HTTP请求,但这需要做很多工作,您必须编写所需的一切,错误管理,validation等。 。

    • 您可以将Objective API的Google API客户端库用于访问iOS和Mac OS X应用程序的基于JSON的Google API。 此API包括对许多Google产品(包括Gmail)的支持。

  2. Gmail支持IMAP和SMTP协议,并包含OAuth 2.0授权。

    • 您可以使用任何支持所需SASL的现有IMAP和SMTP库,并且应与Gmail支持的SASL XOAUTH2机制兼容。 您可以像建议的那样使用MailCore 。

在我看来,您正在寻找与Gmail邮箱互动的最简单方式,因此Gmail API是授权访问用户Gmail数据的最佳选择。

我会选择Objective-C的Google API客户端库,这样您就不必在API周围编写自己的包装器,并且可以直接使用它。

您看到了python示例代码来检索线程页面:

 threads = gmail_service.users().threads().list(userId='me').execute() 

Objective-C的Google API客户端库将为您提供使用多个选项执行相同操作的方法,例如在结果中包含spam和trash文件夹的可能性,最大结果数,搜索与特定查询匹配的线程等。

 + (id)queryForUsersThreadsList; 

用于Objective-C的Google API客户端库支持API参考中描述的所有操作。