Email Settings API'den taşıma

Bu dokümanda, Email Settings API ile Gmail API arasındaki temel farklılıklar ele alınmaktadır. Uygulamanızı Gmail API'ye taşımanıza yardımcı olması için bu kılavuzdan yararlanabilirsiniz.

İstekleri yetkilendirme

Email Settings API gibi Gmail API'si de istekleri yetkilendirmek için OAuth 2.0 protokolünü kullanır. Temel farklardan biri, Gmail API izinlerinin kapsamının alanın tamamı yerine tek bir kullanıcı için belirlenmesidir. Bu, bir alan yöneticisi hesabını yetkilendirmenin, alandaki diğer kullanıcılar için postaları taşımanıza izin vermediği anlamına gelir. Bunun yerine, uygun kimlik doğrulama jetonunu oluşturmak için Yönetici Konsolu'nda beyaz listeye eklenmiş alan genelinde yetkiye sahip standart hizmet hesaplarını kullanmanız gerekir.

Email Settings API, kapsamı kullandı:

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ğundan, sürümler arasındaki yük kavramlar açısından benzerdir.

Etiket oluşturmaya ilişkin örnek:

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 İstemci kitaplıklarını kullanın.

Etiketleri yönetme

Gmail API'deki etiketleri yönetmek için Etiketler kaynağını kullanın.

Eski ayar Yeni ayar Notlar
labelId id
etiket ad
unreadCount messagesUnread
görünürlük labelListVisibility SHOW artık labelShow
HIDE, labelHide

Diğer değişiklikler:

  • Gmail API, etiketleri güncellerken veya silerken etiketlere ad yerine kimliğe göre başvurur.

Filtreleri yönetme

Gmail API'deki filtreleri yönetmek için Filtreler kaynağını kullanın.

Eski ayar Yeni ayar Notlar
şuradan criteria.from
- criteria.to
konu criteria.subject
hasTheWord criteria.query
doesNotHaveTheWord criteria.negatedQuery
hasAttachment criteria.hasAttachment
shouldArchive action.removeLabelIds Etiket kimliği olarak INBOX kullan
shouldMarkAsRead action.removeLabelIds Etiket kimliği olarak UNREAD kullan
shouldStar action.addLabelIds Etiket kimliği olarak STARRED kullan
etiket action.addLabelIds Eklemek için etiketin kimliğini kullanın
forwardTo action.forward
shouldTrash action.addLabelIds Etiket kimliği olarak TRASH kullan
neverSpam action.removeLabelIds Etiket kimliği olarak SPAM kullan

Diğer değişiklikler:

  • Mevcut bir kullanıcı etiketi mevcut değilse bu etiketin labels.create yöntemi kullanılarak açıkça oluşturulması gerekir.

Farklı gönderme takma adlarını yönetme

Farklı gönderme takma adlarını Gmail API'de yönetmek için SendAs kaynağını kullanın.

Eski ayar Yeni ayar
ad displayName
adres sendAsEmail
replyTo replyToAddress
makeDefault isDefault

Web kliplerini yönetme

Web Klibi ayarları artık API aracılığıyla kullanılamıyor.

Otomatik yönlendirme ayarlarını yönetme

Gmail API'de otomatik yönlendirmeyi yönetmek için Ayarlar kaynağını kullanın.

Eski ayar Yeni ayar Notlar
enable etkin
forwardTo emailAddress
işlem elden çıkarma KEEP artık leaveInInbox
ARCHIVE, archive
DELETE artık trash
MARK_READ, markRead

Diğer değişiklikler:

  • Yönlendirme adresleri kullanılmadan önce oluşturulmalı ve doğrulanmalıdır
  • Yönlendirme adresleri, ForwardingAddresses kaynağı aracılığıyla yönetilebilir.

POP ayarlarını yönetme

Gmail API'de POP erişimini yönetmek için Ayarlar kaynağını kullanın.

Eski ayar Yeni ayar Notlar
enable accessWindow disabled olarak ayarlandığında devre dışı
enableFor accessWindow ALL_MAIL artık allMail
MAIL_FROM_NOW_ON, fromNowOn
işlem elden çıkarma KEEP artık leaveInInbox
ARCHIVE, archive
DELETE artık trash
MARK_READ, markRead

IMAP ayarlarını yönetme

Gmail API'de IMAP erişimini yönetmek için Ayarlar kaynağını kullanın.

Eski ayar Yeni ayar
enable etkin

Otomatik yanıt ayarlarını yönetme

Gmail API'deki otomatik yanıtlama özelliğini yönetmek için Ayarlar kaynağını kullanın.

Eski ayar Yeni ayar
contactsOnly restrictToContacts
domainOnly restrictToDomain
enable enableAutoReply
endDate endTime
mesaj yanıtBodyHTML
responseBodyPlainText
startDate startTime
konu responseSubject

İmza ayarlarını yönetme

Gmail API'deki e-posta imzalarını yönetmek için SendAs kaynağını kullanın.

Eski ayar Yeni ayar
signature signature

Diğer değişiklikler:

  • İmzalar artık takma ad başına yönetiliyor.

Dil ayarlarını yönetme

Gmail API'deki dil ayarlarını yönetmek için Ayarlar kaynağını kullanın.

Eski ayar Yeni ayar
dil displayLanguage

Daha fazla bilgi için lütfen Dil Ayarlarını Yönetme kılavuzuna bakın.

Yetkilendirme ayarlarını yönetme

Gmail API'de yetkiyi yönetmek için Temsilciler kaynağını kullanın.

Eski ayar Yeni ayar
adres delegateEmail
status verificationStatus

Diğer değişiklikler:

  • Genel
    • Yetki yöntemlerinden herhangi birini (delegates.create dahil) kullanmak için yetki veren kullanıcının Gmail'i etkinleştirmiş olması gerekir. Bu, örneğin, yetki veren kullanıcınınGoogle Workspaceürününde askıya alınamayacağı anlamına gelir.
    • Bir e-posta takma adı, yeni yöntemlerin hiçbiri için temsilci e-posta girişi olarak kullanılamaz. Yetki verilmiş kullanıcılardan birincil e-posta adresleri kullanılmalıdır.
  • delegates.create
    • Bu yöntem artık aynı kuruluşa ait birden fazla alan arasında yetki verilmiş ilişkileri oluşturmak için kullanılabilir Google Workspace.
    • Bu yöntem artık, bir sonraki oturum açma işleminde şifre değişikliği gerektiren kullanıcılar için kullanılabilir.
    • Başarılı olursa bu yöntem, yanıt gövdesinde boş bir yanıt gövdesi yerine bir Users.settings.delegates kaynağı döndürür.
    • Yetki veren veya yetkilendiren kullanıcılardan biri devre dışı bırakılırsa (örneğin, Google Workspaceiçinde askıya alınırsa) bu yöntem HTTP 500 hatası yerine HTTP 4XX hatasıyla başarısız olur.
  • delegates.delete
    • Bu yöntem artık yalnızca accepted veya expired olan yetki verilmiş kullanıcılar yerine tüm verificationStatus sahip olan yetki verilmiş kullanıcıları silmek için kullanılabilir.
  • delegates.get
    • Bu yeni bir yöntemdir ve ihtiyaca göre delegates.list yöntemine göre tercih edilebilir.

Genel ayarları yönetme

Genel ayarlar artık API aracılığıyla kullanılamamaktadır.