2014-09-30 56 views
5

我正試圖瞭解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。

回答

9

的基本工作流程是正確的,你有多種方式來實現你想要的:

  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。

相關問題