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
veyaexpired
olan vekiller yerine, verificationStatus değeri herhangi bir olan vekilleri silmek için kullanılabilir.
- Bu yöntem artık yalnızca
- 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.