使用iOS的Gmail API - 正在收取电子邮件

问题描述:

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

目前的工作流程似乎是如下:

  1. 使用谷歌提供的frameworks授权我的iOS应用使用OAuth 2.0。我有完成这一步,我的应用程序可以成功授权一个Gmail帐户。

  2. 下载电子邮件:

    documentation,似乎这是API调用,以显示邮件列表:

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

我的问题:

我需要编写自己的Objective-C包装器来制作此AP我打电话来下载消息,或者像MailCore这样的东西让我更容易做到这一点?据我了解,这个API取代了IMAP,这是MailCore实现的。

我明白如何在Python中完成此操作,如示例https://developers.google.com/gmail/api/quickstart/quickstart-python,但我没有看到如何将此代码移植到Objective-C。

的基本工作流程是正确的,你有多种方式来实现你想要的:

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

    • 您可以编写自己的Objective-C的包装围绕API做出正确的HTTP请求发送到API reference描述的型动物端点但它是一个大量的工作,你必须写你需要的一切,错误管理,验证等...

    • 您可以使用Google APIs Client Library for Objective-C推荐用于访问适用于iOS和Mac OS X应用程序的基于JSON的Google API。此API包含对许多Google产品(包括Gmail)的支持。

  2. IMAP和SMTP协议通过Gmail和支持包括的OAuth 2.0授权。

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

在我看来,你正在寻找与Gmail信箱交互,以便Gmail的API是授权访问用户的Gmail数据的最佳选择,最简单的方法。

我会去找Google APIs Client Library for Objective-C,这样你就不必为API编写自己的包装,并且可以直接使用它。

你看到蟒蛇的示例代码检索线程的页面:

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

Google APIs Client Library for Objective-C会给你的方法做同样的事情有多个选项,如可能包括在结果中的垃圾邮件&垃圾文件夹,结果的最大数量,搜索匹配特定的查询线程等

+ (id)queryForUsersThreadsList; 

API reference描述的所有动作都是由谷歌API客户端库Objectiv支持E-C。