Dokumen ini dapat membantu memigrasikan aplikasi Anda dari Email Settings API yang tidak digunakan lagi ke Gmail API.
Izinkan permintaan
Seperti Email Settings API, Gmail API menggunakan protokol OAuth 2.0 untuk mengotorisasi permintaan. Salah satu perbedaan utamanya adalah izin Gmail API diberikan kepada pengguna tertentu, bukan kepada seluruh domain. Artinya, mengizinkan akun administrator domain tidak memungkinkan Anda memigrasikan email untuk pengguna lain di domain. Sebagai gantinya, Anda harus menggunakan akun layanan standar dengan otoritas tingkat domain yang ditambahkan ke daftar yang diizinkan di konsol Google 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 setelan sebagian besar terdiri dari pasangan nilai kunci, payload secara konseptual serupa di antara versi.
Contoh pembuatan label:
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>
Gmail API
POST https://www.googleapis.com/gmail/v1/users/{username}/labels
{
"name": "status updates"
}
Gunakan library klien yang disediakan, bukan menerapkan protokol secara langsung.
Kelola label
Untuk mengelola label di Gmail API, gunakan resource
labels.
| Setelan lama | Setelan baru | Catatan |
|---|---|---|
| labelId | id | |
| label | nama | |
| unreadCount | messagesUnread | |
| visibilitas | labelListVisibility | SHOW sekarang menjadi labelShowHIDE sekarang menjadi labelHide |
Perubahan lainnya:
- Saat memperbarui atau menghapus label, Gmail API mereferensikan label menurut ID, bukan menurut nama.
Kelola filter
Untuk mengelola filter di Gmail API, gunakan resource
settings.filters.
| 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 yang akan ditambahkan |
| forwardTo | action.forward | |
| shouldTrash | action.addLabelIds | Gunakan TRASH sebagai ID label |
| neverSpam | action.removeLabelIds | Gunakan SPAM sebagai ID label |
Perubahan lainnya:
- Jika penambahan label pengguna belum ada, label tersebut harus dibuat secara eksplisit menggunakan metode
labels.create.
Mengelola alias kirim sebagai
Untuk mengelola alias kirim sebagai di Gmail API, gunakan resource
settings.sendAs.
| Setelan lama | Setelan baru |
|---|---|
| nama | Nama Tampilan |
| alamat | sendAsEmail |
| replyTo | replyToAddress |
| makeDefault | isDefault |
Mengelola klip web
Setelan Klip Web tidak tersedia di Gmail API.
Mengelola penerusan otomatis
Untuk mengelola penerusan otomatis di Gmail API, gunakan resource
settings.
| Setelan lama | Setelan baru | Catatan |
|---|---|---|
| aktifkan | diaktifkan | |
| forwardTo | emailAddress | |
| tindakan | disposisi | KEEP kini menjadi leaveInInboxARCHIVE kini menjadi archiveDELETE kini menjadi trashMARK_READ kini menjadi markRead |
Perubahan lainnya:
- Alamat penerusan harus dibuat dan diverifikasi sebelum digunakan.
- Alamat penerusan dapat dikelola menggunakan resource
settings.forwardingAddresses.
Mengelola setelan POP
Untuk mengelola akses POP di Gmail API, gunakan resource
settings.
| Setelan lama | Setelan baru | Catatan |
|---|---|---|
| aktifkan | accessWindow | Dinonaktifkan jika disetel ke disabled |
| enableFor | accessWindow | ALL_MAIL sekarang menjadi allMailMAIL_FROM_NOW_ON sekarang menjadi fromNowOn |
| tindakan | disposisi | KEEP kini menjadi leaveInInboxARCHIVE kini menjadi archiveDELETE kini menjadi trashMARK_READ kini menjadi markRead |
Mengelola setelan IMAP
Untuk mengelola akses IMAP di Gmail API, gunakan resource
settings.
| Setelan lama | Setelan baru |
|---|---|
| aktifkan | diaktifkan |
Mengelola setelan balasan otomatis saat libur
Untuk mengelola balasan otomatis saat libur di Gmail API, gunakan resource
settings.
| Setelan lama | Setelan baru |
|---|---|
| contactsOnly | restrictToContacts |
| domainOnly | restrictToDomain |
| aktifkan | enableAutoReply |
| endDate | endTime |
| pesan | responseBodyHtml responseBodyPlainText |
| startDate | startTime |
| subjek | responseSubject |
Mengelola setelan tanda tangan
Untuk mengelola tanda tangan email di Gmail API, gunakan resource
settings.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
settings.
| Setelan lama | Setelan baru |
|---|---|
| language | displayLanguage |
Untuk mengetahui informasi selengkapnya, lihat Mengelola setelan bahasa.
Kelola setelan delegasi
Untuk mengelola delegasi di Gmail API, gunakan resource
settings.delegates.
| Setelan lama | Setelan baru |
|---|---|
| alamat | delegateEmail |
| status | verificationStatus |
Perubahan lainnya:
- Umum
- Untuk menggunakan salah satu metode delegasi (termasuk
settings.delegates.create) pengguna yang mendelegasikan harus diaktifkan untuk Gmail. Artinya, misalnya, pengguna yang mendelegasikan tidak dapat ditangguhkan di Google Workspace. - Alias email tidak dapat digunakan sebagai input email penerima tugas untuk metode baru. Pengguna penerima delegasi harus dirujuk berdasarkan alamat email utamanya.
- Untuk menggunakan salah satu metode delegasi (termasuk
settings.delegates.create- Metode ini kini dapat digunakan untuk membuat hubungan delegasi di beberapa domain yang termasuk dalam organisasi Google Workspace yang sama.
- Metode ini kini dapat digunakan untuk pengguna yang harus mengubah sandi saat login berikutnya.
- Jika berhasil, metode ini akan menampilkan resource
settings.delegatesdalam isi respons, bukan isi respons kosong. - Jika pengguna pendelegasi atau penerima delegasi dinonaktifkan (misalnya, ditangguhkan di Google Workspace), metode ini akan gagal dengan error HTTP 4XX, bukan error HTTP 500.
settings.delegates.delete- Metode ini kini dapat digunakan untuk menghapus delegasi dengan
VerificationStatusapa pun, bukan hanya delegasi yangacceptedatauexpired.
- Metode ini kini dapat digunakan untuk menghapus delegasi dengan
settings.delegates.get- Ini adalah metode baru, yang mungkin lebih disukai daripada metode
settings.delegates.listbergantung pada kebutuhan.
- Ini adalah metode baru, yang mungkin lebih disukai daripada metode
Mengelola setelan umum
Setelan umum tidak tersedia di Gmail API.