Bu belge, uygulamanızı desteği sonlandırılmış Email Settings API'den Gmail API'ye taşımanıza yardımcı olabilir.
İstekleri yetkilendirme
Gmail API, Email Settings API gibi istekleri yetkilendirmek için 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 vermek, 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 alan genelinde yetkiye sahip standart hizmet hesaplarını kullanmanız gerekir. Bu hesaplar, Google Yönetici Konsolu'nda izin verilenler listesine eklenir.
Email Settings API, şu kapsamı kullanıyordu:
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
Email Settings API, 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:
- Kullanıcı etiketi ekleme özelliği henüz yoksa
labels.createyöntemi kullanılarak açıkça oluşturulmalıdır.
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 Clip 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 adresleri, kullanılmadan önce oluşturulmalı ve doğrulanmalıdır.
- Yönlendirme adresleri,
settings.forwardingAddresseskaynağı kullanılarak yönetilebilir.
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ıt 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:
- İmzalar artık her bir takma ad için ayrı ayrı yönetiliyor.
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. Örneğin, yetki veren kullanıcı Google Workspace'te askıya alınamaz. - E-posta takma adı, yeni yöntemlerin herhangi biri için temsilci e-posta girişi olarak kullanılamaz. Yetki verilen kullanıcı, birincil e-posta adresiyle yönlendirilmelidir.
- Yetki verme yöntemlerinden herhangi birini (
settings.delegates.create- Bu yöntem artık aynı Google Workspace kuruluşuna ait birden fazla alan arasında yetki verilmiş kullanıcı ilişkileri oluşturmak için kullanılabilir.
- Bu yöntem artık bir sonraki oturum açma işleminde şifre değişikliği yapması gereken kullanıcılar için kullanılabilir.
- 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ılardan biri 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- Bu yöntem artık yalnızca
acceptedveyaexpiredolan yetkililer yerine herhangi birVerificationStatusyetkisine sahip yetkilileri silmek için kullanılabilir.
- Bu yöntem artık 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.