Kullanıcılar, verilerine erişen veya kendi adlarına işlem yapan eklentileri ve diğer uygulamaları yetkilendirmelidir. Kullanıcı bir eklentiyi ilk kez çalıştırdığında, eklenti kullanıcı arayüzünde yetkilendirme akışını başlatmak için bir yetkilendirme istemi gösterilir.
Bu akış sırasında istem, uygulamanın ne yapmak için izin istediğini kullanıcıya bildirir. Örneğin, bir eklenti, kullanıcının e-posta iletisini okuma veya takviminde etkinlik oluşturma izni isteyebilir. Eklentinin komut dosyası projesi, bu izinleri OAuth kapsamları olarak tanımlar.
URL dizelerini kullanarak manifest dosyanızda kapsamları beyan edersiniz. Yetkilendirme akışı sırasında Apps Komut Dosyası, kapsamın okunabilir bir açıklamasını kullanıcıya sunar. Örneğin, Google Workspace eklentiniz, manifestinizde https://www.googleapis.com/auth/gmail.addons.current.message.readonly olarak yazılan "Mevcut mesajı oku" kapsamını kullanabilir. Yetkilendirme akışı sırasında bu kapsama sahip bir eklenti, kullanıcıdan eklentinin çalışırken e-posta iletilerinizi görüntülemesine izin vermesini ister.
Apps Komut Dosyası'nın çeşitli hizmetleri için kullandığı kapsamlar, ilgili API'nin kullandığı kapsamlarla çakışıyor. Örneğin, Apps Komut Dosyası'nın Takvim hizmeti, Calendar API ile aynı kapsamların çoğunu kullanır. Belirli Apps Komut Dosyası hizmeti yöntemlerinin gerektirdiği kapsamları Apps Komut Dosyası referans belgelerinde bulabilirsiniz.
Kapsamları görüntüleme
Aşağıdaki adımları uygulayarak komut dosyası projenizin şu anda gerektirdiği kapsamları görebilirsiniz:
- Senaryo projesini açın.
- Sol tarafta Genel bakış'ı tıklayın .
- "Project OAuth Scopes" (Proje OAuth Kapsamları) bölümündeki kapsamları görüntüleyin.
Ayrıca, komut dosyası projesinin mevcut kapsamlarını proje manifestosundaki oauthScopes alanında da görüntüleyebilirsiniz ancak bu kapsamları yalnızca açıkça ayarladıysanız.
Açık kapsamlar ayarlama
Apps Komut Dosyası, kodunu tarayarak bir komut dosyasının hangi kapsamlara ihtiyacı olduğunu otomatik olarak belirler. Bu, çoğu komut dosyası için yeterlidir ve zamandan tasarruf etmenizi sağlar. Ancak yayınlanmış eklentiler için kapsamlar üzerinde daha doğrudan kontrol sahibi olmanız gerekir.
Örneğin, Apps Komut Dosyası, eklenti komut dosyası projesine varsayılan olarak çok izin verici bir kapsam (https://mail.google.com) verebilir. Bir kullanıcı bu kapsamla bir komut dosyası projesine yetki verdiğinde, projeye kullanıcının Gmail hesabına tam erişim izni verilir. Yayınlanmış eklentiler için bu kapsamı, eklentilerin ihtiyaçlarını karşılayan ve daha sınırlı bir kapsamla değiştirmeniz gerekir.
Komut dosyası projenizin kullandığı kapsamları manifest dosyasını düzenleyerek açıkça ayarlayabilirsiniz. Manifest alanı
oauthScopes, eklenti tarafından kullanılan tüm kapsamların dizisidir. Projenizin kapsamlarını ayarlamak için aşağıdakileri yapın:
- Eklentinizin kullandığı kapsamları görüntüleyin. Daha dar bir kapsam kullanmak gibi hangi değişikliklerin yapılması gerektiğini belirleyin.
- Eklentinizin manifest dosyasını açın.
oauthScopesetiketli üst düzey alanı bulun. Bu seçenek yoksa ekleyebilirsiniz.oauthScopesalanı, bir dizi dize belirtir. Projenizin kullandığı kapsamları ayarlamak için bu dizinin içeriğini, projenin kullanmasını istediğiniz kapsamlarla değiştirin. Örneğin, Gmail'i genişleten bir Google Workspace eklentisi için aşağıdakilere sahip olabilirsiniz:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email" ], ... }Manifest dosyası değişikliklerini kaydedin.
OAuth doğrulaması
Belirli hassas OAuth kapsamlarının kullanılması, eklentinizin yayınlanabilmesi için OAuth istemci doğrulaması sürecinden geçmesini gerektirebilir. Daha fazla bilgi için aşağıdaki kılavuzlara bakın:
- Apps Komut Dosyası için OAuth istemci doğrulaması
- Doğrulanmamış uygulamalar
- OAuth doğrulaması ile ilgili SSS
- Google API'leri Hizmeti: Kullanıcı Verileri Politikası
Kısıtlanmış kapsamlar
Belirli kapsamlar kısıtlanmıştır ve kullanıcı verilerinin korunmasına yardımcı olan ek kurallara tabidir. Bir veya daha fazla kısıtlanmış kapsam kullanan bir Gmail ya da Düzenleyici eklentisi yayınlamayı planlıyorsanız eklenti, yayınlanmadan önce belirtilen tüm kısıtlamalara uymalıdır.
Yayınlamayı denemeden önce kısıtlanmış kapsamların tam listesini inceleyin. Eklentiniz bunlardan herhangi birini kullanıyorsa yayınlamadan önce Belirli API kapsamları için ek koşullar'a uymanız gerekir.
Visual Studio Code için Google Workspace Geliştirici Araçları uzantısı, kapsamın açıklaması ve hassas veya kısıtlanmış olup olmadığı da dahil olmak üzere tüm kapsamlarla ilgili teşhis bilgileri sağlar.
Google Workspace eklentileri için kapsam seçme
Aşağıdaki bölümlerde, Google Workspace eklentileri için en çok tercih edilen kapsamlar verilmiştir.
Düzenleyici kapsamları
Google Workspace eklentileri için sık kullanılan aşağıdaki kapsamlar, Google Dokümanlar, Google E-Tablolar ve Google Slaytlar'ı genişletir.
| Kapsam | |
|---|---|
| Mevcut Dokümanlar dosyasına erişim |
https://www.googleapis.com/auth/documents.currentonly
Eklenti, Google Apps Komut Dosyası Dokümanları API'sine erişiyorsa gereklidir. Açık belgenin içeriğine geçici erişim izni verir. |
| Mevcut E-Tablolar dosyasına erişim |
https://www.googleapis.com/auth/spreadsheets.currentonly
Eklenti, Apps Komut Dosyası E-Tablolar API'sine erişiyorsa zorunludur. Açık e-tablonun içeriğine geçici erişim izni verir. |
| Mevcut Slaytlar dosyasına erişim |
https://www.googleapis.com/auth/presentations.currentonly
Eklenti, Apps Komut Dosyası Slaytlar API'sine erişiyorsa gereklidir. Açık sununun içeriğine geçici erişim izni verir. |
| Dosya bazında erişim |
https://www.googleapis.com/auth/drive.file
Eklentinin kullanması için zorunludur
|
Gmail
Kullanıcı Gmail verilerinin korunmasına yardımcı olmak için Google Workspace eklentilerine özel olarak oluşturulmuş kapsamlar vardır. Bu kapsamları, gereken diğer kapsamlarla birlikte eklenti manifestinize açıkça ekleyin.
Aşağıdaki tabloda, Gmail'i genişleten Google Workspace eklentileri için sık kullanılan kapsamlar listelenmektedir. Eklentiniz Gmail'i genişletiyorsa Zorunlu olarak etiketlenen tüm kapsamları Google Workspace eklenti manifestinize eklemeniz gerekir.
Geniş kapsamlı https://mail.google.com kapsamını, eklentinizin ihtiyaç duyduğu etkileşimlere izin veren daha dar bir kapsam grubuyla değiştirin.
| Kapsam | |
|---|---|
| Yeni taslak oluştur |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Eklenti compose action triggers kullanıyorsa gereklidir. Eklentinin geçici olarak yeni taslak iletiler ve yanıtlar oluşturmasına izin verir. Ayrıntılar için Taslak ileti oluşturma başlıklı makaleye bakın. Bu kapsam genellikle [oluşturma işlemleri] (/workspace/add-ons/gmail/extending-compose-ui) ile birlikte kullanılır. Erişim jetonu gerektirir. |
| Açık mesaj meta verilerini okuma |
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
Açık iletinin meta verilerine (ör. konu veya alıcılar) geçici erişim izni verir. İleti içeriğinin okunmasına izin vermez ve erişim jetonu gerektirir. Eklenti, oluşturma işlemi tetikleyicilerinde meta veri kullanıyorsa gereklidir. Oluşturma işlemleri için, oluşturma tetikleyicisinin meta verilere erişmesi gerekiyorsa bu kapsam zorunludur. Bu kapsam, uygulamada, yanıtlama e-posta taslağının alıcı listelerine (alıcı, cc ve bcc) erişmek için oluşturma tetikleyicisine izin verir. |
| Açık ileti içeriğini okuma |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Kullanıcı etkileşimi (ör. bir eklenti menü öğesi seçildiğinde) üzerine açık iletinin içeriğine erişim izni verir. Erişim jetonu gerektirir. |
| Açık ileti dizisindeki içerikleri okuma |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
Açık iletinin meta verilerine ve içeriğine geçici erişim izni verir. Ayrıca, açık ileti dizisindeki diğer iletilerin içeriğine erişim izni verir. Erişim jetonu gerektirir. |
| Tüm mesaj içeriklerini ve meta verilerini okuma |
https://www.googleapis.com/auth/gmail.readonly
Açılan mesaj da dahil olmak üzere tüm e-posta meta verilerini ve içeriklerini okuma Arama sorgusu yürütürken veya tüm e-posta ileti dizisini okurken olduğu gibi diğer iletilerle ilgili bilgileri okumanız gerekiyorsa zorunludur. |
Google Takvim kapsamları
Aşağıdaki tabloda, Google Takvim'i genişleten Google Workspace eklentileri için sık kullanılan kapsamlar listelenmektedir.
| Kapsam | |
|---|---|
| Etkinlik meta verilerine erişme |
https://www.googleapis.com/auth/calendar.addons.execute
Eklenti, Takvim etkinliği meta verilerine erişiyorsa gereklidir. Eklentinin etkinlik meta verilerine erişmesine izin verir. |
| Kullanıcı tarafından oluşturulan etkinlik verilerini okuma |
https://www.googleapis.com/auth/calendar.addons.current.event.read
Eklentinin kullanıcı tarafından oluşturulan etkinlik verilerini okuması gerekiyorsa zorunludur. Eklentinin, kullanıcı tarafından oluşturulan etkinlik verilerine erişmesine izin verir.
Bu veriler yalnızca
|
| Kullanıcı tarafından oluşturulan etkinlik verilerini yazma |
https://www.googleapis.com/auth/calendar.addons.current.event.write
Eklentinin kullanıcı tarafından oluşturulan etkinlik verilerini yazması gerekiyorsa zorunludur. Eklentinin, kullanıcı tarafından oluşturulan etkinlik verilerini düzenlemesine izin verir.
Bu veriler yalnızca
|
Google Chat kapsamları
Google Chat API'sini çağırmak için Google Chat kullanıcısı veya Google Chat uygulaması olarak kimliğinizi doğrulayın. Her kimlik doğrulama türü farklı kapsamlar gerektirir ve tüm Chat API yöntemleri uygulama kimlik doğrulamasını desteklemez.
Chat kapsamları ve kimlik doğrulama türleri hakkında daha fazla bilgi edinmek için Chat API Kimlik doğrulama ve yetkilendirmeye genel bakış başlıklı makaleyi inceleyin.
Aşağıdaki tabloda, desteklenen kimlik doğrulama türlerine göre sık kullanılan Chat API yöntemleri ve kapsamları gösterilmektedir:
| Yöntem | Kullanıcı kimlik doğrulaması desteklenir. | Uygulama kimlik doğrulaması desteklenir. | Desteklenen yetkilendirme kapsamları | |
|---|---|---|---|---|
| Mesaj gönderme |
Kullanıcı kimlik doğrulaması ile:
|
|||
| Alan oluşturma |
Kullanıcı kimlik doğrulaması ile:
|
|||
| Alan oluşturma ve alana üye ekleme | — |
Kullanıcı kimlik doğrulaması ile:
|
||
| Alana kullanıcı ekleme |
Kullanıcı kimlik doğrulaması ile:
|
|||
| Bir Chat alanındaki etkinlikleri veya etkinlikleri listeleme | — |
Kullanıcı kimlik doğrulaması ile,
istekte yer alan her
etkinlik türü için bir kapsam kullanmanız gerekir:
|
||
Google Drive kapsamları
Aşağıdaki tabloda, Google Drive'ı genişleten Google Workspace eklentileri için sık kullanılan kapsamlar listelenmektedir.
| Kapsam | |
|---|---|
| Seçili öğenin meta verilerini okuma |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Eklenti, kullanıcı Drive'da öğe seçtiğinde tetiklenen bir bağlamsal arayüz uyguluyorsa gereklidir. Eklentinin, kullanıcının Google Drive'da seçtiği öğelerle ilgili sınırlı meta verileri okumasına izin verir. Meta veriler, öğenin kimliği, başlığı, MIME türü, simge URL'si ve eklentinin öğeye erişim izni olup olmadığı ile sınırlıdır. |
| Dosya bazında erişim |
https://www.googleapis.com/auth/drive.file
Eklentinin Drive'daki dosyalara tek tek erişmesi gerekiyorsa önerilir. Apps Komut Dosyası Gelişmiş Drive Hizmeti kullanılarak uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verir. Bu, temel Drive hizmeti kullanılarak yapılan benzer işlemlere izin vermez. Dosya yetkilendirmesi dosya bazında verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir. Seçili dosyalar için dosya erişimi isteği örneği bölümüne bakın. |
Erişim jetonları
Google Workspace eklentilerinde kullanılan Gmail kapsamları, kullanıcı verilerini korumak için kullanıcı verilerine geçici erişim izni verir. Geçici erişimi etkinleştirmek için GmailApp.setCurrentMessageAccessToken işlevini işlem etkinliği nesnesinden alınan bir erişim jetonuyla çağırın.
Gmail kapsamlarını etkinleştiren erişim jetonu, ScriptApp.getOAuthToken tarafından döndürülen erişim jetonuyla aynı değil. İşlem etkinliği nesnesinde sağlanan jetonu kullanın.
Aşağıda, bir mesajın meta verilerine erişime izin vermek için erişim jetonunun ayarlanmasına ilişkin bir örnek gösterilmektedir. Bu örnek için gerekli tek kapsam https://www.googleapis.com/auth/gmail.addons.current.message.metadata'dır.
function readSender(e) {
var accessToken = e.gmail.accessToken;
var messageId = e.gmail.messageId;
// The following function enables short-lived access to the current
// message in Gmail. Access to other Gmail messages or data isn't
// permitted.
GmailApp.setCurrentMessageAccessToken(accessToken);
var mailMessage = GmailApp.getMessageById(messageId);
return mailMessage.getFrom();
}
Diğer Google Workspace kapsamları
Eklentiniz, diğer Google Workspace veya Apps Komut Dosyası hizmetlerini kullanıyorsa ek kapsamlar gerektirebilir. Çoğu durumda Apps Komut Dosyası bu kapsamları algılar ve manifesti otomatik olarak günceller. Manifestinizin kapsam listesini düzenlerken, daha dar bir alternatifle değiştirmediğiniz sürece kapsamları kaldırmayın.
Aşağıdaki tabloda, Google Workspace eklentilerinin sıklıkla kullandığı kapsamlar gösterilmektedir:
| Kapsam | |
|---|---|
| Kullanıcının e-posta adresini okuma |
https://www.googleapis.com/auth/userinfo.email
Projenin, mevcut kullanıcının e-posta adresini okumasına izin verir. |
| Harici hizmetlere yapılan çağrılara izin ver |
https://www.googleapis.com/auth/script.external_request
Projenin |
| Kullanıcının yerel ayarını ve saat dilimini okuma |
https://www.googleapis.com/auth/script.locale
Projenin, mevcut kullanıcının yerel ayarını ve saat dilimini öğrenmesine olanak tanır. Ayrıntılar için Kullanıcı yerel ayarına ve saat dilimine erişme başlıklı makaleyi inceleyin. |
| Tetikleyiciler oluşturma |
https://www.googleapis.com/auth/script.scriptapp
Projenin tetikleyici oluşturmasına izin verir. |
| Üçüncü taraf bağlantılarını önizleme |
https://www.googleapis.com/auth/workspace.linkpreview
Eklenti, üçüncü taraf hizmetindeki bağlantıları önizliyorsa gereklidir. Kullanıcı etkileşimde bulunurken projenin bir Google Workspace uygulamasındaki bağlantıyı görmesine izin verir. Daha fazla bilgi için Akıllı çiplerle bağlantıları önizleme başlıklı makaleyi inceleyin. |
| Üçüncü taraf kaynakları oluşturma |
https://www.googleapis.com/auth/workspace.linkcreate
Eklenti, üçüncü taraf hizmetinde kaynak oluşturuyorsa zorunludur. Projenin, kullanıcıların kaynak oluşturma formuna gönderdiği bilgileri okumasına ve Google Workspace uygulamasına kaynak bağlantısı eklemesine olanak tanır. Daha fazla bilgi için @ menüsünden üçüncü taraf kaynakları oluşturma başlıklı makaleyi inceleyin. |