2014-09-30 48 views
5

Tôi đang cố gắng hiểu cách hoạt động của Gmail API. Mục tiêu của tôi là truy xuất danh sách tất cả email của người dùng trong hộp thư đến của họ, được tải xuống số NSArray.API Gmail với iOS - nhận email

Hiện nay công việc có vẻ là như sau:

  1. Cấp phép ứng dụng iOS của tôi với OAuth 2.0 bằng cách sử dụng frameworks được cung cấp bởi Google. Tôi có hoàn tất bước này và ứng dụng của tôi có thể ủy quyền thành công tài khoản gmail.

  2. Tải về email:

    Từ documentation, có vẻ như đây là cuộc gọi API để hiển thị một danh sách các thông điệp:

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

Câu hỏi của tôi:

Tôi có cần viết trình bao bọc Objective-C của riêng mình để tạo AP này không Tôi gọi để tải các tin nhắn, hoặc một cái gì đó như MailCore cho phép tôi làm điều này dễ dàng hơn? Theo tôi hiểu, API này thay thế cho IMAP, đó là những gì thực hiện MailCore.

Tôi hiểu cách thực hiện điều này bằng Python, theo ví dụ https://developers.google.com/gmail/api/quickstart/quickstart-python nhưng tôi không thấy cách tôi sẽ chuyển mã này đến Objective-C.

Trả lời

9

Các công việc cơ bản là chính xác và bạn có nhiều cách để đạt được những gì bạn muốn:

  1. Các Gmail API mà là một API RESTful có thể được sử dụng để truy cập vào hộp thư Gmail và gửi mail. API hỗ trợ nhiều hoạt động cơ bản có sẵn thông qua giao diện người dùng Gmail như đọc, soạn và gửi thư. Nó cũng cho phép bạn quản lý nhãn trên các chủ đề và tin nhắn và truy vấn các thông điệp và chủ đề cụ thể.

    • Bạn có thể viết riêng Objective-C wrapper của bạn xung quanh các API để thực hiện yêu cầu HTTP chính xác cho các điểm cuối differents mô tả trong API reference nhưng đó là rất nhiều công việc, bạn phải viết tất cả mọi thứ bạn cần, quản lý lỗi , xác thực, v.v ...

    • Bạn có thể sử dụng Google APIs Client Library for Objective-C được đề xuất để truy cập API Google dựa trên JSON cho các ứng dụng iOS và Mac OS X. API này bao gồm hỗ trợ cho nhiều sản phẩm của Google bao gồm Gmail.

  2. IMAP và SMTP giao thức được hỗ trợ bởi Gmail và bao gồm quyền của OAuth 2.0.

    • Bạn có thể sử dụng bất kỳ thư viện IMAP và SMTP hiện có nào hỗ trợ SASL bạn muốn và phải tương thích với cơ chế SASL XOAUTH2 được Gmail hỗ trợ. Bạn có thể sử dụng MailCore ví dụ như bạn đã đề xuất.

Dường như với tôi bạn đang tìm kiếm cách dễ nhất để tương tác với hộp thư Gmail để API Gmail là sự lựa chọn tốt nhất cho truy cập được phép vào dữ liệu Gmail của người dùng.

Tôi sẽ đi đến số Google APIs Client Library for Objective-C để bạn không phải viết trình bao bọc của riêng mình xung quanh API và có thể sử dụng nó ra khỏi hộp.

Bạn thấy ví dụ mã python để lấy một trang của chủ đề:

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

Các Google APIs Client Library for Objective-C sẽ cung cấp cho bạn phương pháp để làm điều tương tự với nhiều tùy chọn như khả năng để bao gồm các thư mục thùng rác rác & trong kết quả, số lượng tối đa kết quả, tìm kiếm một chủ đề phù hợp với một truy vấn cụ thể, vv

+ (id)queryForUsersThreadsList; 

Tất cả các hành động được mô tả trong API reference được hỗ trợ bởi Thư viện Ứng dụng Google API cho Objectiv e-C.

Các vấn đề liên quan