Dokumen ini membahas perbedaan utama antara Email Settings API dan Gmail API. Anda dapat menggunakan panduan ini untuk membantu memigrasikan aplikasi Anda ke Gmail API.
Memberi otorisasi permintaan
Seperti Email Settings API, Gmail API menggunakan protokol OAuth 2.0 untuk mengizinkan permintaan. Satu perbedaan utama adalah izin Gmail API dicakup untuk satu pengguna, bukan ke seluruh domain. Artinya, memberi otorisasi kepada akun administrator domain tidak memungkinkan Anda memigrasikan email untuk pengguna lain di domain tersebut. Sebagai gantinya, Anda harus menggunakan akun layanan standar dengan otoritas seluruh domain yang diizinkan di konsol Admin untuk membuat token autentikasi yang sesuai.
Email Settings API menggunakan cakupan:
https://apps-apis.google.com/a/feeds/emailsettings/2.0/
Cakupan yang setara di Gmail API adalah:
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing
Perubahan protokol
Email Settings API menggunakan protokol GDATA berbasis XML. Gmail API menggunakan JSON. Karena sebagian besar setelan terdiri dari key-value pair, payload secara konseptual serupa di antara versi.
Contoh pembuatan label:
API Setelan Email
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>
Gmail API
POST https://www.googleapis.com/gmail/v1/users/{username}/labels
{
"name": "status updates"
}
Gunakan Library klien yang disediakan, bukan langsung menerapkan protokol.
Mengelola label
Untuk mengelola label di Gmail API, gunakan resource Labels.
Setelan lama | Setelan baru | Catatan |
---|---|---|
labelId | id | |
label | name | |
unreadCount | messagesUnread | |
visibilitas | labelListVisibility | SHOW sekarang menjadi labelShow HIDE sekarang menjadi labelHide |
Perubahan lainnya:
- Saat memperbarui atau menghapus label, Gmail API mereferensikan label berdasarkan ID, bukan berdasarkan nama.
Mengelola filter
Untuk mengelola filter di Gmail API, gunakan resource Filter.
Setelan lama | Setelan baru | Catatan |
---|---|---|
dari | criteria.from | |
hingga | criteria.to | |
subjek | criteria.subject | |
hasTheWord | criteria.query | |
doesNotHaveTheWord | criteria.negatedQuery | |
hasAttachment | criteria.hasAttachment | |
shouldArchive | action.removeLabelIds | Gunakan INBOX sebagai ID label |
shouldMarkAsRead | action.removeLabelIds | Gunakan UNREAD sebagai ID label |
shouldStar | action.addLabelIds | Gunakan STARRED sebagai ID label |
label | action.addLabelIds | Gunakan ID label untuk menambahkan |
forwardTo | action.forward | |
shouldTrash | action.addLabelIds | Gunakan TRASH sebagai ID label |
neverSpam | action.removeLabelIds | Gunakan SPAM sebagai ID label |
Perubahan lainnya:
- Jika menambahkan label pengguna belum ada, label harus dibuat secara eksplisit menggunakan metode labels.create.
Mengelola alias kirim-sebagai
Untuk mengelola alias kirim-sebagai di Gmail API, gunakan resource SendAs.
Setelan lama | Setelan baru |
---|---|
name | displayName |
alamat | sendAsEmail |
replyTo | replyToAddress |
makeDefault | isDefault |
Mengelola klip web
Setelan Web Clip tidak lagi tersedia melalui API.
Mengelola setelan penerusan otomatis
Untuk mengelola penerusan otomatis di Gmail API, gunakan resource Setelan.
Setelan lama | Setelan baru | Catatan |
---|---|---|
enable | diaktifkan | |
forwardTo | emailAddress | |
action | disposisi | KEEP sekarang menjadi leaveInInbox ARCHIVE sekarang menjadi archive DELETE sekarang menjadi trash MARK_READ sekarang markRead |
Perubahan lainnya:
- Alamat penerusan harus dibuat dan diverifikasi sebelum digunakan
- Alamat penerusan dapat dikelola melalui resource ForwardingAddresses.
Mengelola setelan POP
Untuk mengelola akses POP di Gmail API, gunakan resource Setelan.
Setelan lama | Setelan baru | Catatan |
---|---|---|
enable | accessWindow | Dinonaktifkan saat disetel ke disabled |
enableFor | accessWindow | ALL_MAIL sekarang menjadi allMail MAIL_FROM_NOW_ON sekarang menjadi fromNowOn |
action | disposisi | KEEP sekarang menjadi leaveInInbox ARCHIVE sekarang menjadi archive DELETE sekarang menjadi trash MARK_READ sekarang markRead |
Mengelola setelan IMAP
Untuk mengelola akses IMAP di Gmail API, gunakan resource Setelan.
Setelan lama | Setelan baru |
---|---|
enable | diaktifkan |
Mengelola setelan balasan otomatis saat liburan
Untuk mengelola balasan otomatis saat libur di Gmail API, gunakan resource Setelan.
Setelan lama | Setelan baru |
---|---|
contactsOnly | restrictToContacts |
domainOnly | restrictToDomain |
enable | enableAutoReply |
endDate | endTime |
pesan | responseBodyHTML responseBodyPlainText |
startDate | startTime |
subjek | responseSubject |
Mengelola setelan tanda tangan
Untuk mengelola tanda tangan email di Gmail API, gunakan resource SendAs.
Setelan lama | Setelan baru |
---|---|
tanda tangan | tanda tangan |
Perubahan lainnya:
- Tanda tangan kini dikelola per alias.
Mengelola setelan bahasa
Untuk mengelola setelan bahasa di Gmail API, gunakan resource Setelan.
Setelan lama | Setelan baru |
---|---|
language | displayLanguage |
Baca panduan Mengelola Setelan Bahasa untuk mengetahui informasi selengkapnya.
Mengelola setelan delegasi
Untuk mengelola delegasi di Gmail API, gunakan resource Delegates.
Setelan lama | Setelan baru |
---|---|
alamat | delegateEmail |
status | verificationStatus |
Perubahan lainnya:
- Umum
- Untuk menggunakan salah satu metode delegasi (termasuk delegates.create), pengguna pendelegasi harus diaktifkan untuk Gmail. Artinya, misalnya, pengguna pendelegasi tidak dapat ditangguhkan di Google Workspace.
- Alias email tidak dapat digunakan sebagai input email delegasi untuk metode baru apa pun. Pengguna penerima delegasi harus diarahkan melalui alamat email utama mereka.
- delegates.create
- Metode ini sekarang dapat digunakan untuk membuat hubungan delegasi di beberapa domain milik organisasi Google Workspaceyang sama.
- Metode ini sekarang dapat digunakan untuk pengguna yang memerlukan perubahan sandi pada login berikutnya.
- Jika berhasil, metode ini akan menampilkan Users.settings.delegates resource dalam isi respons, bukan isi respons kosong.
- Jika salah satu pengguna pendelegasi atau delegasi dinonaktifkan (misalnya, ditangguhkan di Google Workspace), metode ini gagal dengan error HTTP 4XX, bukan error HTTP 500.
- delegates.delete
- Metode ini sekarang dapat digunakan untuk menghapus penerima delegasi dengan verificationStatus apa pun, bukan hanya delegasi yang berupa
accepted
atauexpired
.
- Metode ini sekarang dapat digunakan untuk menghapus penerima delegasi dengan verificationStatus apa pun, bukan hanya delegasi yang berupa
- delegates.get
- Ini adalah metode baru, yang mungkin lebih baik daripada metode delegates.list bergantung pada kebutuhan.
Mengelola setelan umum
Setelan umum tidak lagi tersedia melalui API.