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
veyaexpired
olan yetki verilmiş kullanıcılar yerine tüm verificationStatus sahip olan yetki verilmiş kullanıcıları silmek için kullanılabilir.
- Bu yöntem artık yalnızca
- 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.