Bermigrasi dari Email Settings API

Dokumen ini membantu Anda memigrasikan aplikasi 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 dibatasi untuk pengguna tertentu, bukan untuk 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 labelShow
HIDE 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 label pengguna yang ingin Anda tambahkan belum ada, Anda harus membuatnya 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 sekarang menjadi leaveInInbox
ARCHIVE sekarang menjadi archive
DELETE sekarang menjadi trash
MARK_READ sekarang menjadi markRead

Perubahan lainnya:

  • Anda harus membuat dan memverifikasi alamat penerusan sebelum menggunakannya.
  • Untuk mengelola alamat penerusan, gunakan 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 allMail
MAIL_FROM_NOW_ON sekarang menjadi fromNowOn
tindakan disposisi KEEP sekarang menjadi leaveInInbox
ARCHIVE sekarang menjadi archive
DELETE sekarang menjadi trash
MARK_READ sekarang 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:

  • Sekarang Anda dapat mengelola tanda tangan 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.
    • Anda tidak dapat menggunakan alias email sebagai input email delegasi untuk salah satu metode baru. Anda harus merujuk pengguna yang didelegasikan berdasarkan alamat email utamanya.
  • settings.delegates.create
    • Anda kini dapat menggunakan metode ini untuk membuat hubungan delegasi di beberapa domain yang termasuk dalam organisasi Google Workspace yang sama.
    • Anda kini dapat menggunakan metode ini untuk pengguna yang harus mengubah sandi saat login berikutnya.
    • Jika berhasil, metode ini akan menampilkan resource settings.delegates dalam 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
    • Sekarang Anda dapat menggunakan metode ini untuk menghapus delegasi dengan VerificationStatus, bukan hanya delegasi yang accepted atau expired.
  • settings.delegates.get
    • Ini adalah metode baru, yang mungkin lebih disukai daripada metode settings.delegates.list bergantung pada kebutuhan.

Mengelola setelan umum

Setelan umum tidak tersedia di Gmail API.