Kullanıcılar, verilerine erişen veya kendi adlarına işlem yapan eklentileri ve diğer uygulamaları yetkilendirmelidir. Bir kullanıcı 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, uygulamaya hangi işlemler için izin verilmesi gerektiğini kullanıcıya bildirir. Örneğin, bir eklenti, kullanıcının e-posta iletisini okumak veya takviminde etkinlik oluşturmak için izin 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 "Read current message" (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.
Görüntüleme kapsamları
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 .
- "Proje OAuth Kapsamları" bölümündeki kapsamları görüntüleyin.
Ayrıca, komut dosyası projesinin mevcut kapsamlarını proje manifestosunda, 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 kapsamları gerektirdiğini otomatik olarak belirler. Bu, çoğu komut dosyası için yeterlidir ve size zaman kazandırır. Ancak yayınlanmış eklentilerde kapsamlar üzerinde daha doğrudan kontrol sahibi olmanız gerekir.
Örneğin, Apps Komut Dosyası, bir eklenti komut dosyası projesine varsayılan olarak çok izin verici https://mail.google.com
kapsamını verebilir. Bir kullanıcı, bu kapsamda 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 ancak 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 şu anda 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.
oauthScopes
etiketli üst düzey alanı bulun. Bu seçenek yoksa ekleyebilirsiniz.oauthScopes
alanı, bir dizeler dizisini 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ından geçmesini gerektirebilir. Daha fazla bilgi için aşağıdaki kılavuzlara bakın:
- Apps Script için OAuth istemci doğrulaması
- Doğrulanmamış uygulamalar
- OAuth doğrulaması ile ilgili SSS
- Google API Hizmetleri: 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 veya Düzenleyici eklentisi yayınlamayı planlıyorsanız eklenti, yayınlanabilmesi için 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 şartlar'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 kapsamlar için teşhis bilgileri sağlar.
Google Workspace eklentileri için kapsam seçme
Aşağıdaki bölümlerde, Google Workspace eklentileri için yaygın olarak kullanılan kapsamlar verilmiştir.
Düzenleyici kapsamları
Aşağıda, Dokümanlar, E-Tablolar ve Slaytlar'ı genişleten Google Workspace eklentileri için sık kullanılan kapsamlar verilmiştir.
Kapsam | |
---|---|
Mevcut Dokümanlar dosyasına erişim |
https://www.googleapis.com/auth/documents.currentonly
Eklenti, Apps Script Docs 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 Script Sheets API'ye erişiyorsa gereklidir. 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. Herkese açık sunumun içeriğine geçici erişim izni verir. |
Dosya başına erişim |
https://www.googleapis.com/auth/drive.file
Eklentinin |
Gmail
Kullanıcıların Gmail verilerini korumaya yardımcı olmak için Google Workspace eklentilerine özel olarak oluşturulmuş birkaç kapsam vardır. Eklenti manifestinize, eklenti kodunuzun gerektirdiği diğer kapsamlarla birlikte bu kapsamları açıkça eklemeniz gerekir.
Aşağıda, Gmail'i genişleten Google Workspace eklentileri için sık kullanılan kapsamlar verilmiştir. Eklentiniz Gmail'i genişletiyorsa Zorunlu olarak etiketlenen kapsamlar Google Workspace eklenti manifestinize eklenmelidir.
Ayrıca, eklentinizdeki çok geniş https://mail.google.com
kapsamını, eklentinizin ihtiyaç duyduğu etkileşimlere izin veren ve daha fazla etkileşime izin vermeyen daha dar bir kapsam grubuyla değiştirdiğinizden emin olun.
Kapsam | |
---|---|
Yeni taslak oluştur |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Eklenti oluşturma işlemi tetikleyicilerini kullanıyorsa zorunludur. Eklentinin geçici olarak yeni taslak iletiler ve yanıtlar oluşturmasına izin verir. Ayrıntılar için Taslak mesaj oluşturma bölümüne bakın. Bu kapsam genellikle oluşturma işlemleriyle de 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 verileri kullanıyorsa gereklidir. Oluşturma işlemleri için, oluşturma tetikleyicisinin meta verilere erişmesi gerekiyorsa bu kapsam zorunludur. Bu kapsam, yanıt e-posta taslağının alıcı listelerine (alıcı, cc ve bcc) erişmek için oluşturma tetikleyicisini kullanmanıza olanak tanır. |
Açık ileti içeriğini okuma |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Bir 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 mesaj dizisi içeriğini okuma |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
Açık mesajın 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çeriğini okuma Arama sorgusu yürütme veya tüm posta yazışmasını okuma gibi diğer iletilerle ilgili bilgileri okumanız gerekiyorsa zorunludur. |
Google Takvim kapsamları
Google Calendar'ı genişleten Google Workspace eklentileri için sık kullanılan kapsamlar aşağıda verilmiştir.
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ı
Chat API'yi çağırmak için Google Chat kullanıcısı veya Chat uygulaması olarak kimliğinizi doğrulamanız gerekir. 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önder |
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 olayları 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ğıda, Google Drive'ı genişleten Google Workspace eklentileri için sık kullanılan kapsamlar yer almaktadır.
Kapsam | |
---|---|
Seçili öğenin meta verilerini okuma |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Eklenti, kullanıcının Drive'da öğe seçmesiyle tetiklenen bağlama duyarlı bir 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şme izni olup olmadığı ile sınırlıdır. |
Dosya başına erişim |
https://www.googleapis.com/auth/drive.file
Eklentinin Drive'daki dosyalara tek tek erişmesi gerekiyorsa önerilir.
Apps Komut Dosyası Advanced Drive
Service'i kullanarak uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verir. Ancak bu, temel Drive hizmeti kullanılarak benzer işlemlerin yapılmasına izin vermez. Dosya yetkilendirmesi dosya bazında verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir. |
Erişim jetonları
Google Workspace eklentilerinde kullanılan Gmail kapsamları, kullanıcı verilerini korumak için yalnızca kullanıcı verilerine geçici erişim izni verir. Geçici erişimi etkinleştirmek için GmailApp.setCurrentMessageAccessToken(accessToken)
işlevini bağımsız değişken olarak erişim jetonuyla çağırmanız gerekir. Bir işlem etkinliği nesnesinden erişim jetonu almanız gerekir.
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ı'nın bu kapsamları algılamasına ve manifesti otomatik olarak güncellemesine izin verebilirsiniz. Manifest dosyanızın kapsam listesini düzenlerken, daha uygun bir alternatifle (ör. daha dar bir kapsam) değiştirmediğiniz sürece kapsamları kaldırmayın.
Aşağıdaki tabloda, Google Workspace eklentilerinin sıklıkla kullandığı kapsamların listesi 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 tetikleyiciler 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 Google Workspace uygulamasındaki bir 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 gereklidir. 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 edinmek için @ menüsünden üçüncü taraf kaynakları oluşturma başlıklı makaleyi inceleyin. |