Email Settings API'den taşıma

Bu belgede, Email Settings API ile Gmail API arasındaki temel farklar açıklanmaktadır. Uygulamanızı Gmail API'ye taşımanıza yardımcı olması için bu kılavuzu kullanabilirsiniz.

İstekleri yetkilendirme

Gmail API, E-posta Ayarları API'si 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 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 Yönetici Konsolu'nda beyaz listeye 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önetme

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 labelShow
HIDE 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önetme

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

Eski ayar Yeni ayar Notlar
şuradan 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.create yöntemi kullanılarak açıkça oluşturulmalıdır.

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

Gmail API'de farklı adres olarak gönderme takma adlarını yönetmek için 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ı artık API üzerinden kullanılamaz.

Otomatik yönlendirme ayarlarını 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 leaveInInbox
ARCHIVE artık archive
DELETE artık trash
MARK_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, ForwardingAddresses kaynağı üzerinden 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 allMail
MAIL_FROM_NOW_ON artık fromNowOn
işlem elden çıkarma KEEP artık leaveInInbox
ARCHIVE artık archive
DELETE artık trash
MARK_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 tatil 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 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 lütfen Dil Ayarlarını Yönetme Kılavuzu'na bakın.

Yetki verme ayarlarını yönetme

Gmail API'de yetki verme özelliğini yönetmek için 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 (delegates.create dahil) kullanmak için yetki veren kullanıcının Gmail'i etkinleştirilmiş olmalıdır. Bu, örneğin, yetki veren kullanıcınıniçinde askıya alınamayacağı anlamına gelir.
    • E-posta takma adı, yeni yöntemlerin herhangi biri için yetkili e-posta girişi olarak kullanılamaz. Bir temsilci kullanıcı, birincil e-posta adresiyle belirtilmelidir.
  • delegates.create
    • Bu yöntem artık aynı kuruluşa ait birden fazla alan arasında temsilci 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 Users.settings.delegates kaynağı döndürür.
    • Yetki veren veya yetki alan kullanıcılardan biri devre dışı bırakılırsa (ör. 'da 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 temsilciler yerine herhangi bir verificationStatus değerine sahip temsilcileri silmek için kullanılabilir.
  • delegates.get
    • Bu yeni yöntem, ihtiyaca bağlı olarak delegates.list yöntemine göre daha iyi olabilir.

Genel ayarları yönetme

Genel ayarlar artık API üzerinden kullanılamıyor.