Di chuyển từ API cài đặt email

Tài liệu này trình bày những điểm khác biệt chính giữa API Cài đặt email và API Gmail. Bạn có thể sử dụng hướng dẫn này để di chuyển ứng dụng của mình sang API Gmail.

Ủy quyền yêu cầu

Giống như Email Settings API, Gmail API sử dụng giao thức OAuth 2.0 để uỷ quyền các yêu cầu. Một điểm khác biệt chính là quyền truy cập Gmail API được giới hạn cho từng người dùng, thay vì cho toàn bộ miền. Điều này có nghĩa là việc uỷ quyền cho tài khoản quản trị viên miền không cho phép bạn di chuyển thư cho những người dùng khác trong miền. Thay vào đó, bạn phải sử dụng tài khoản dịch vụ tiêu chuẩn có quyền trên toàn miền được đưa vào danh sách cho phép trong Bảng điều khiển dành cho quản trị viên để tạo mã thông báo xác thực phù hợp.

Email Settings API sử dụng phạm vi:

https://apps-apis.google.com/a/feeds/emailsettings/2.0/

Các phạm vi tương đương trong Gmail API là:

https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing

Thay đổi về giao thức

Email Settings API sử dụng giao thức GDATA dựa trên XML. API Gmail sử dụng JSON. Vì chế độ cài đặt chủ yếu bao gồm các cặp khoá/giá trị, nên tải trọng về cơ bản là tương tự giữa các phiên bản.

Ví dụ về cách tạo nhãn:

Email Settings API

POST https://apps-apis.google.com/a/feeds/emailsettings/2.0/{domain name}/{username}/label
<?xml version="1.0" encoding="utf-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006">
  <apps:property name="label" value="status updates" />
</atom:entry>

API Gmail

POST https://www.googleapis.com/gmail/v1/users/{username}/labels
{
   "name": "status updates"
}

Hãy sử dụng Thư viện ứng dụng được cung cấp thay vì triển khai trực tiếp giao thức.

Quản lý nhãn

Để quản lý nhãn trong API Gmail, hãy sử dụng tài nguyên Nhãn.

Chế độ cài đặt cũ Chế độ cài đặt mới Ghi chú
labelId id
nhãn tên
unreadCount messagesUnread
mức hiển thị labelListVisibility SHOW hiện là labelShow
HIDE hiện là labelHide

Thay đổi khác

  • Khi cập nhật hoặc xoá nhãn, Gmail API sẽ tham chiếu đến nhãn theo mã nhận dạng thay vì theo tên.

Quản lý bộ lọc

Để quản lý bộ lọc trong Gmail API, hãy sử dụng tài nguyên Bộ lọc.

Chế độ cài đặt cũ Chế độ cài đặt mới Ghi chú
từ criteria.from
tới criteria.to
chủ đề criteria.subject
hasTheWord criteria.query
doesNotHaveTheWord criteria.negatedQuery
hasAttachment criteria.hasAttachment
shouldArchive action.removeLabelIds Sử dụng INBOX làm mã nhãn
shouldMarkAsRead action.removeLabelIds Sử dụng UNREAD làm mã nhãn
shouldStar action.addLabelIds Sử dụng STARRED làm mã nhãn
nhãn action.addLabelIds Sử dụng mã của nhãn để thêm
forwardTo action.forward
shouldTrash action.addLabelIds Sử dụng TRASH làm mã nhãn
neverSpam action.removeLabelIds Sử dụng SPAM làm mã nhãn

Thay đổi khác

  • Nếu chưa có nhãn người dùng, bạn phải tạo nhãn một cách rõ ràng bằng phương thức labels.create.

Quản lý bí danh gửi dưới tên

Để quản lý bí danh gửi dưới tên người khác trong API Gmail, hãy sử dụng tài nguyên SendAs.

Chế độ cài đặt cũ Chế độ cài đặt mới
tên Tên hiển thị
xử lý sendAsEmail
replyTo replyToAddress
makeDefault isDefault

Quản lý đoạn video trên web

Bạn không còn dùng được API để truy cập vào các chế độ cài đặt Đoạn trích trên web.

Quản lý chế độ cài đặt tự động chuyển tiếp

Để quản lý tính năng tự động chuyển tiếp trong API Gmail, hãy sử dụng tài nguyên Settings.

Chế độ cài đặt cũ Chế độ cài đặt mới Ghi chú
bật đang bật
forwardTo emailAddress
hành động disposition KEEP hiện là leaveInInbox
ARCHIVE hiện là archive
DELETE hiện là trash
MARK_READ hiện là markRead

Thay đổi khác

  • Bạn phải tạo và xác minh địa chỉ chuyển tiếp trước khi sử dụng
  • Bạn có thể quản lý địa chỉ chuyển tiếp thông qua tài nguyên ForwardingAddresses.

Quản lý chế độ cài đặt POP

Để quản lý quyền truy cập POP trong API Gmail, hãy sử dụng tài nguyên Settings (Cài đặt).

Chế độ cài đặt cũ Chế độ cài đặt mới Ghi chú
bật accessWindow Bị tắt khi được đặt thành disabled
enableFor accessWindow ALL_MAIL hiện là allMail
MAIL_FROM_NOW_ON hiện là fromNowOn
hành động disposition KEEP hiện là leaveInInbox
ARCHIVE hiện là archive
DELETE hiện là trash
MARK_READ hiện là markRead

Quản lý chế độ cài đặt IMAP

Để quản lý quyền truy cập IMAP trong API Gmail, hãy sử dụng tài nguyên Settings (Cài đặt).

Chế độ cài đặt cũ Chế độ cài đặt mới
bật đang bật

Quản lý chế độ cài đặt thư trả lời tự động khi đi vắng

Để quản lý chế độ tự động trả lời khi vắng mặt trong API Gmail, hãy sử dụng tài nguyên Settings.

Chế độ cài đặt cũ Chế độ cài đặt mới
contactsOnly restrictToContacts
domainOnly restrictToDomain
bật enableAutoReply
endDate endTime
tin nhắn responseBodyHtml
responseBodyPlainText
startDate startTime
chủ đề responseSubject

Quản lý chế độ cài đặt chữ ký

Để quản lý chữ ký email trong API Gmail, hãy sử dụng tài nguyên SendAs.

Chế độ cài đặt cũ Chế độ cài đặt mới
Chữ ký Chữ ký

Thay đổi khác

  • Giờ đây, chữ ký được quản lý theo từng biệt hiệu.

Quản lý chế độ cài đặt ngôn ngữ

Để quản lý chế độ cài đặt ngôn ngữ trong API Gmail, hãy sử dụng tài nguyên Settings.

Chế độ cài đặt cũ Chế độ cài đặt mới
language displayLanguage

Vui lòng tham khảo hướng dẫn Quản lý chế độ cài đặt ngôn ngữ để biết thêm thông tin.

Quản lý chế độ cài đặt uỷ quyền

Để quản lý việc uỷ quyền trong Gmail API, hãy sử dụng tài nguyên Delegates.

Chế độ cài đặt cũ Chế độ cài đặt mới
xử lý delegateEmail
trạng thái verificationStatus

Thay đổi khác

  • Chung
    • Để sử dụng bất kỳ phương thức uỷ quyền nào (bao gồm cả delegates.create), người dùng uỷ quyền phải được bật Gmail. Ví dụ: người dùng uỷ quyền không thể bị tạm ngưng trong.
    • Bạn không thể dùng email đại diện làm dữ liệu đầu vào email của người uỷ quyền cho bất kỳ phương thức mới nào. Người dùng được uỷ quyền phải được đề cập bằng địa chỉ email chính của họ.
  • delegates.create
    • Giờ đây, bạn có thể sử dụng phương thức này để tạo mối quan hệ uỷ quyền trên nhiều miền thuộc cùng một tổ chức .
    • Giờ đây, bạn có thể sử dụng phương thức này cho những người dùng cần thay đổi mật khẩu vào lần đăng nhập tiếp theo.
    • Nếu thành công, phương thức này sẽ trả về một tài nguyên Users.settings.delegates trong nội dung phản hồi, thay vì một nội dung phản hồi trống.
    • Nếu người uỷ quyền hoặc người được uỷ quyền bị vô hiệu hoá (ví dụ: bị tạm ngưng trong ), thì phương thức này sẽ gặp lỗi HTTP 4XX thay vì lỗi HTTP 500.
  • delegates.delete
    • Giờ đây, bạn có thể dùng phương thức này để xoá các uỷ quyền có verificationStatus bất kỳ, thay vì chỉ những uỷ quyền có trạng thái accepted hoặc expired.
  • delegates.get
    • Đây là một phương thức mới, có thể được ưu tiên hơn phương thức delegates.list tuỳ theo nhu cầu.

Quản lý chế độ cài đặt chung

Chế độ cài đặt chung không còn được cung cấp thông qua API nữa.