Email Settings API'den taşıma

Bu dokümanda, Email Settings API ile Gmail API arasındaki temel farklar ele alınmaktadır. Uygulamanızı Gmail API'ye taşımak için bu kılavuzdan yararlanabilirsiniz.

İstekleri yetkilendirme

E-posta Ayarları API'si gibi Gmail API de istekleri yetkilendirmek için OAuth 2.0 protokolünü kullanır. Önemli bir fark, Gmail API izinlerinin alanın tamamı yerine tek bir kullanıcıya yönelik olmasıdır. Diğer bir deyişle, bir alan yöneticisi hesabını yetkilendirmek, 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 yetki sahibi standart hizmet hesaplarını kullanmanız gerekir.

Email Settings API şu 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

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ük verileri, 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 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 artık labelHide

Diğer değişiklikler:

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

Filtreleri yönetme

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

Eski ayar Yeni ayar Notlar
şuradan criteria.from
to criteria.to
konu 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:

  • Henüz mevcut olmayan bir kullanıcı etiketi eklemek istiyorsanız labels.create yöntemi kullanılarak açıkça oluşturulması gerekir.

Gönderen olarak takma adlarını yönetme

Gmail API'de gönderen adı 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 klip ayarları artık API üzerinden kullanılamaz.

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 disposition 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şturulup 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 Settings (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 artık fromNowOn
işlem disposition 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 Ayarlar kaynağını kullanın.

Eski ayar Yeni ayar
enable etkin

Tatil otomatik yanıt ayarlarını yönetme

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

Eski ayar Yeni ayar
contactsOnly restrictToContacts
domainOnly restrictToDomain
enable enableAutoReply
endDate endTime
mesaj responseBodyHtml
responseBodyPlainText
startDate startTime
konu 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 takma ad başına yönetiliyor.

Dil ayarlarını yönetme

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

Eski ayar Yeni ayar
language displayLanguage

Daha fazla bilgi için lütfen Dil ayarlarını yönetme kılavuzunu inceleyin.

Yetki verme ayarlarını yönetme

Gmail API'de yetki verme özelliğini yönetmek için Yetkililer 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'de etkin olması gerekir. Örneğin, yetki veren kullanıcıGoogle Workspace'te askıya alınamaz.
    • E-posta takma adları, yeni yöntemlerden hiçbirinde yetki verilmiş kullanıcı e-posta girişi olarak kullanılamaz. Temsilci kullanıcı, birincil e-posta adresiyle belirtilmelidir.
  • delegates.create
    • Bu yöntem artık aynı kuruluşa ait birden fazla alanda temsilci ilişkileri oluşturmak için kullanılabilir. Google Workspace
    • Bu yöntem artık bir sonraki oturum açışında şifre değişikliği yapması gereken 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 Users.settings.delegates kaynağı döndürür.
    • Yetki veren veya yetki verilen kullanıcılardan biri devre dışıysa (ör. Google Workspace'te askıya alınmışsa) 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 vekiller yerine, verificationStatus değeri herhangi bir olan vekilleri silmek için kullanılabilir.
  • delegates.get
    • Bu, ihtiyaca bağlı olarak delegates.list yöntemine tercih edilebilecek yeni bir yöntemdir.

Genel ayarları yönetme

Genel ayarlar artık API üzerinden kullanılamaz.