Bu belge, uygulamanızı kullanımdan kaldırılan Email Settings API'den Gmail API'ye taşımanıza yardımcı olur.
İstekleri yetkilendirme
Gmail API, istekleri yetkilendirmek için E-posta Ayarları API'si gibi OAuth 2.0 protokolünü kullanır. Temel farklardan biri, Gmail API izinlerinin alanın tamamı yerine tek bir kullanıcıyla sınırlandırılmasıdır. Bu nedenle, bir alan yöneticisi hesabına yetki vermeniz, alandaki diğer kullanıcıların postalarını taşımanıza izin vermez. Bunun yerine, uygun kimlik doğrulama jetonunu oluşturmak için Google Yönetici Konsolu'nda izin verilenler listesine eklenen alan genelinde yetkiye sahip standart hizmet hesaplarını kullanmanız gerekir.
Email Settings API şu kapsamı kullanır:
https://apps-apis.google.com/a/feeds/emailsettings/2.0/
Gmail API'deki eşdeğer kapsamlar şunlardır:
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing
Protokol değişiklikleri
E-posta Ayarları API'si, XML tabanlı GDATA protokolünü kullanır. Gmail API, JSON kullanır. Ayarlar çoğunlukla anahtar-değer çiftlerinden oluştuğu için yükler, sürümler arasında kavramsal olarak benzerdir.
Etiket oluşturma örneği:
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"
}
Protokolü doğrudan uygulamak yerine sağlanan istemci kitaplıklarını kullanın.
Etiketleri yönetin
Gmail API'de etiketleri yönetmek için
labels kaynağını kullanın.
| Eski ayar | Yeni ayar | Notlar |
|---|---|---|
| labelId | id | |
| etiket | ad | |
| unreadCount | messagesUnread | |
| görünürlük | labelListVisibility | SHOW artık labelShowHIDE artık labelHide |
Diğer değişiklikler:
- Etiketler güncellenirken veya silinirken Gmail API, etiketlere ada göre değil kimliğe göre referans verir.
Filtreleri yönet
Gmail API'de filtreleri yönetmek için
settings.filters
kaynağını kullanın.
| Eski ayar | Yeni ayar | Notlar |
|---|---|---|
| başlangıç fiyatı: | criteria.from | |
| to | criteria.to | |
| subject | criteria.subject | |
| hasTheWord | criteria.query | |
| doesNotHaveTheWord | criteria.negatedQuery | |
| hasAttachment | criteria.hasAttachment | |
| shouldArchive | action.removeLabelIds | Etiket kimliği olarak INBOX kullanın. |
| shouldMarkAsRead | action.removeLabelIds | Etiket kimliği olarak UNREAD kullanın. |
| shouldStar | action.addLabelIds | Etiket kimliği olarak STARRED kullanın. |
| etiket | action.addLabelIds | Eklemek için etiketin kimliğini kullanın |
| forwardTo | action.forward | |
| shouldTrash | action.addLabelIds | Etiket kimliği olarak TRASH kullanın. |
| neverSpam | action.removeLabelIds | Etiket kimliği olarak SPAM kullanın. |
Diğer değişiklikler:
- Eklemek istediğiniz bir kullanıcı etiketi henüz yoksa
labels.createyöntemini kullanarak etiketi açıkça oluşturmanız gerekir.
Farklı e-posta adresleri olarak gönderme takma adlarını yönetme
Gmail API'de farklı adres olarak gönderme takma adlarını yönetmek için
settings.sendAs
kaynağını kullanın.
| Eski ayar | Yeni ayar |
|---|---|
| ad | görünen ad |
| adres | sendAsEmail |
| replyTo | replyToAddress |
| makeDefault | isDefault |
Web kliplerini yönetme
Web klip ayarları Gmail API'de kullanılamaz.
Otomatik yönlendirmeyi yönetme
Gmail API'de otomatik yönlendirmeyi yönetmek için settings kaynağını kullanın.
| Eski ayar | Yeni ayar | Notlar |
|---|---|---|
| enable | etkin | |
| forwardTo | emailAddress | |
| işlem | elden çıkarma | KEEP artık leaveInInboxARCHIVE artık archiveDELETE artık trashMARK_READ artık markRead |
Diğer değişiklikler:
- Yönlendirme adreslerini kullanmadan önce oluşturup doğrulamanız gerekir.
- Yönlendirme adreslerini yönetmek için
settings.forwardingAddresseskaynağını kullanın.
POP ayarlarını yönetme
Gmail API'de POP erişimini yönetmek için settings kaynağını kullanın.
| Eski ayar | Yeni ayar | Notlar |
|---|---|---|
| enable | accessWindow | disabled olarak ayarlandığında devre dışı bırakılır. |
| enableFor | accessWindow | ALL_MAIL artık allMailMAIL_FROM_NOW_ON artık fromNowOn |
| işlem | elden çıkarma | KEEP artık leaveInInboxARCHIVE artık archiveDELETE artık trashMARK_READ artık markRead |
IMAP ayarlarını yönetme
Gmail API'de IMAP erişimini yönetmek için settings kaynağını kullanın.
| Eski ayar | Yeni ayar |
|---|---|
| enable | etkin |
Otomatik yanıtlayıcı ayarlarını yönetme
Gmail API'de tatil otomatik yanıtını yönetmek için settings kaynağını kullanın.
| Eski ayar | Yeni ayar |
|---|---|
| contactsOnly | restrictToContacts |
| domainOnly | restrictToDomain |
| enable | enableAutoReply |
| endDate | endTime |
| mesaj | responseBodyHtml responseBodyPlainText |
| startDate | startTime |
| subject | responseSubject |
İmza ayarlarını yönetme
Gmail API'de e-posta imzalarını yönetmek için
settings.sendAs
kaynağını kullanın.
| Eski ayar | Yeni ayar |
|---|---|
| signature | signature |
Diğer değişiklikler:
- Artık imzaları takma ad başına yönetebilirsiniz.
Dil ayarlarını yönetme
Gmail API'sinde dil ayarlarını yönetmek için
settings kaynağını kullanın.
| Eski ayar | Yeni ayar |
|---|---|
| language | displayLanguage |
Daha fazla bilgi için Dil ayarlarını yönetme başlıklı makaleyi inceleyin.
Yetkilendirme ayarlarını yönet
Gmail API'de yetki verme özelliğini yönetmek için
settings.delegates
kaynağını kullanın.
| Eski ayar | Yeni ayar |
|---|---|
| adres | delegateEmail |
| durum | verificationStatus |
Diğer değişiklikler:
- Genel
- Yetki verme yöntemlerinden herhangi birini (
settings.delegates.createdahil) kullanmak için yetki veren kullanıcının Gmail'i etkinleştirilmiş olmalıdır. Bu nedenle, örneğin, yetki veren kullanıcı Google Workspace'te askıya alınamaz. - Yeni yöntemlerin herhangi birinde yetki verilmiş kullanıcının e-posta girişi olarak e-posta takma adı kullanamazsınız. Bir temsilci kullanıcıyı birincil e-posta adresiyle belirtmeniz gerekir.
- Yetki verme yöntemlerinden herhangi birini (
settings.delegates.create- Artık bu yöntemi kullanarak aynı Google Workspace kuruluşuna ait birden fazla alan arasında temsilci ilişkileri oluşturabilirsiniz.
- Artık bu yöntemi, bir sonraki oturum açma işleminde şifre değişikliği yapması gereken kullanıcılar için kullanabilirsiniz.
- Başarılı olursa bu yöntem, boş bir yanıt gövdesi yerine yanıt gövdesinde bir
settings.delegateskaynağı döndürür. - Yetki veren veya yetki alan kullanıcı devre dışı bırakılırsa (örneğin, Google Workspace'te askıya alınırsa) bu yöntem HTTP 500 hatası yerine HTTP 4XX hatasıyla başarısız olur.
settings.delegates.delete- Artık bu yöntemi kullanarak yalnızca
acceptedveyaexpiredolan yetki verilmiş kullanıcılar yerine herhangi birVerificationStatusolan yetki verilmiş kullanıcıları silebilirsiniz.
- Artık bu yöntemi kullanarak yalnızca
settings.delegates.get- Bu yeni yöntem, ihtiyaca bağlı olarak
settings.delegates.listyöntemine tercih edilebilir.
- Bu yeni yöntem, ihtiyaca bağlı olarak
Genel ayarları yönetme
Genel ayarlar Gmail API'de kullanılamaz.