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