Kullanıcıların, verilerine erişen veya kendi adlarına işlem yapan eklentileri ve diğer uygulamaları yetkilendirmesi gerekir. Bir kullanıcı bir eklentiyi ilk kez çalıştırdığında, eklentinin kullanıcı arayüzü yetkilendirme akışını başlatmak için bir yetkilendirme istemi sunar.
Bu akış sırasında istem kullanıcıya uygulamanın ne yapmak istediğini söyler. Örneğin bir eklenti, bir kullanıcının e-posta mesajını okuma veya takviminde etkinlik oluşturma izni isteyebilir. Eklentinin komut dosyası projesi, bu izinleri OAuth kapsamları olarak tanımlar.
Kapsamları manifest dosyanızda URL dizeleri kullanarak açıklarsınız. Yetkilendirme akışı sırasında Apps Komut Dosyası, kullanıcıya kapsamın kullanıcılar tarafından okunabilecek bir açıklamasını sunar. Örneğin, Google Workspace Eklentiniz, manifest dosyanıza 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 eklentiye şu işlemleri yapmasına izin vermesini ister: Eklenti çalışırken e-posta mesajlarınızı görüntüleme.
Kapsamları görüntüleme
Aşağıdakileri yaparak komut dosyası projenizin şu anda gerektirdiği kapsamları görebilirsiniz:
- Komut dosyası projesini açın.
- Solda, Genel bakış'ı tıklayın .
- Kapsamları, "Proje OAuth Kapsamları" altında görüntüleyin.
Komut dosyası projesinin geçerli kapsamlarını, yalnızca bu kapsamları açık olarak ayarladıysanız proje manifestinde oauthScopes
alanının altında da görüntüleyebilirsiniz.
Açık kapsamları ayarlama
Apps Komut Dosyası, bir komut dosyasının kodunu onları gerektiren işlev çağrıları için tarayarak hangi kapsamlara ihtiyaç duyduğunu otomatik olarak belirler. Çoğu komut dosyası için bu işlem yeterlidir ve size zaman kazandırır ancak yayınlanan eklentiler için kapsamlar üzerinde daha doğrudan kontrole sahip olmanız gerekir.
Örneğin, Apps Komut Dosyası, bir eklenti komut dosyası projesine varsayılan olarak çok geniş kapsamlı https://mail.google.com
kapsamını verebilir. Bir kullanıcı bu kapsamla bir komut dosyası projesini yetkilendirdiğinde projeye, kullanıcının Gmail hesabına tam erişim verilir. Yayınlanan eklentiler için bu kapsamı, eklentilerin ihtiyaçlarını karşılayan ve daha fazlasını içermeyen daha sınırlı bir grupla değiştirmeniz gerekir.
Komut dosyası projenizin manifest dosyasını düzenleyerek kullandığı kapsamları açıkça ayarlayabilirsiniz. Manifest alanı oauthScopes
, eklenti tarafından kullanılan tüm kapsamları içeren bir dizidir. Projenizin kapsamlarını belirlemek için aşağıdakileri yapın:
- Eklentinizin şu anda kullandığı kapsamları görüntüleyin. Hangi değişikliklerin yapılması gerektiğini belirleyin, örneğin daha dar bir kapsam kullanmak.
- Eklentinizin manifest dosyasını açın.
oauthScopes
etiketli en üst düzey alanı bulun. Yoksa onu ekleyebilirsiniz.oauthScopes
alanı bir dize dizisi belirtir. Projenizin kullandığı kapsamları ayarlamak için bu dizinin içeriğini, kullanmasını istediğiniz kapsamlarla değiştirin. Örneğin, Gmail'in kapsamını 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ındaki değişiklikleri kaydedin.
OAuth doğrulaması
Belirli hassas OAuth kapsamlarını kullanmak, eklentinin yayınlanabilmesi için önce OAuth istemci doğrulamasından 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ıyla ilgili SSS
- Google API'leri Hizmeti: Kullanıcı Verileri Politikası
Kısıtlanmış kapsamlar
Belirli kapsamlar kısıtlanı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 Eklentisini yayınlamayı planlıyorsanız, eklentinin yayınlanabilmesi için belirtilen tüm kısıtlamalara uyması gerekir.
Yayınlamadan önce kısıtlanmış kapsamların tam listesini inceleyin. Eklentiniz bunlardan herhangi birini kullanıyorsa yayınlamadan önce Belirli API kapsamları için ek gereksinimler'e uymanız gerekir.
Takvim kapsamları
Aşağıda, Google Takvim'in kapsamını genişleten Google Workspace Eklentileri için sık kullanılan kapsamları bulabilirsiniz.
Kapsam | |
---|---|
Etkinlik meta verilerine erişme |
https://www.googleapis.com/auth/calendar.addons.execute
Eklenti, Takvim etkinliği meta verilerine erişirse 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 gereklidir.
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 gereklidir.
Eklentinin, kullanıcı tarafından oluşturulan etkinlik verilerini düzenlemesine izin verir. Bu veriler yalnızca
|
Drive kapsamları
Aşağıda, Google Drive'ı genişleten Google Workspace Eklentileri için sık kullanılan kapsamları bulabilirsiniz.
Kapsam | |
---|---|
Seçili öğe meta verilerini oku |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
Eklenti, kullanıcı Drive'da öğe seçtiğinde tetiklenen bir içeriğe dayalı arayüz uygularsa 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ığıyla sınırlıdır. |
Dosya başına erişim |
https://www.googleapis.com/auth/drive.file
Eklentinin Drive dosyalarına 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. Ancak bu ayar, temel Drive hizmeti kullanılarak benzer işlemlerin kullanılmasına izin vermez. Dosya yetkilendirmesi, dosya bazında verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir. |
Gmail eklentisi kapsamları
Kullanıcıların Gmail verilerini korumaya yardımcı olması amacıyla Google Workspace Eklentileri için özel olarak oluşturulmuş birkaç kapsam vardır. Bu kapsamları, eklenti kodunuzun gerektirdiği diğer tüm işlemlerle birlikte eklenti manifestinize 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 de kapsıyorsa Zorunlu olarak etiketli olanlar, Google Workspace Eklenti manifestinize eklenmelidir.
Ayrıca, eklentinizdeki çok geniş https://mail.google.com
kapsamını, eklentinizin ihtiyaç duyduğu etkileşimlere izin vermeyen ve daha dar kapsamlı bir kapsam grubuyla değiştirdiğinizden emin olun.
Kapsam | |
---|---|
Yeni taslaklar oluşturma |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
Eklenti, oluşturma işlemi tetikleyicileri kullanıyorsa gereklidir. Eklentinin geçici olarak yeni taslak iletiler ve yanıtlar oluşturmasına izin verir. Ayrıntılar için Taslak iletiler oluşturma bölümüne bakın. Bu kapsam genellikle yazma 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 (konu veya alıcılar gibi) geçici erişim izni verir. Mesaj 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 bu kapsam, bir oluşturma tetikleyicisinin meta verilere erişmesi gerektiğinde gereklidir. Pratikte bu kapsam, oluşturma işleminin bir yanıt e-posta taslağının erişim alıcı listelerini (kime:, cc: ve bcc:) tetiklemesine olanak tanır. |
Açık ileti içeriğini oku |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Eklenti menü öğesi seçildiğinde olduğu gibi, kullanıcı etkileşiminden sonra açık mesajın 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 iletinin meta verilerine ve içeriğine geçici erişim izni verir. Ayrıca açık ileti dizisindeki diğer mesajların içeriğine erişim izni verir. Erişim jetonu gerektirir. |
Tüm mesaj içeriklerini ve meta verileri okuma |
https://www.googleapis.com/auth/gmail.readonly
Açık ileti de dahil olmak üzere tüm e-posta meta verilerini ve içeriğini okuma. Arama sorgusu yürütme veya posta ileti dizisinin tamamını okuma gibi işlemlerde diğer iletilerle ilgili bilgileri okumanız gerekiyorsa gereklidir. |
Erişim jetonları
Google Workspace Eklentilerinde kullanılan Gmail kapsamları, kullanıcı verilerini korumak için kullanıcı verilerine yalnızca geçici erişim izni verir. Geçici erişimi etkinleştirmek için erişim jetonunu bağımsız değişken olarak kullanarak GmailApp.setCurrentMessageAccessToken(accessToken)
işlevini çağırmanız gerekir. Bir eylem 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 jetonu ayarlamayla ilgili bir örnek gösterilmektedir. Bu örnek için gereken tek kapsam https://www.googleapis.com/auth/gmail.addons.current.message.metadata
değeridir.
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();
}
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'ye erişirse gereklidir. Açık belgenin içeriğine geçici erişim izni verir. |
Mevcut E-Tablolar dosya erişimi |
https://www.googleapis.com/auth/spreadsheets.currentonly
Eklenti, Apps Script Sheets API'ye erişirse gereklidir. Açık e-tablonun içeriğine geçici erişim izni verir. |
Mevcut Slaytlar dosya erişimi |
https://www.googleapis.com/auth/presentations.currentonly
Eklenti, Apps Script Slaytlar API'sine erişirse gereklidir. Açık sununun içeriğine geçici erişim izni verir. |
Dosya başına erişim |
https://www.googleapis.com/auth/drive.file
Eklentinin |
Diğer kapsamlar
Eklentiniz başka 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'inizin kapsam listesini düzenlerken, daha dar bir kapsam gibi daha uygun bir alternatifle değiştirmediğiniz sürece hiçbir kapsamı kaldırmayın.
Referans olması amacıyla, genellikle Google Workspace Eklentileriyle birlikte kullanılan Apps Komut Dosyası kapsamlarının bir listesini aşağıda bulabilirsiniz:
Kapsam | |
---|---|
Kullanıcının e-posta adresini okuma |
https://www.googleapis.com/auth/userinfo.email
Projenin, geçerli kullanıcının e-posta adresini okumasına izin verir. |
Harici hizmetlere yapılan aramalara 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, geçerli kullanıcının yerel ayarını ve saat dilimini öğrenmesini sağlar. Ayrıntılar için Kullanıcının yerel ayarına ve saat dilimine erişme bölümüne bakın. |
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, bir üçüncü taraf hizmetinin bağlantılarını önizlediğinde gereklidir. Kullanıcı bir Google Workspace uygulamasıyla etkileşimde bulunurken projenin, Google Workspace uygulamasındaki bir bağlantıyı görmesine izin verir. Daha fazla bilgi edinmek için Bağlantıları akıllı çiplerle önizleme başlıklı makalede bulabilirsiniz. |
Üçüncü taraf kaynakları oluşturma |
https://www.googleapis.com/auth/workspace.linkcreate
Eklenti, üçüncü taraf bir hizmette kaynak oluşturuyorsa gereklidir. Projenin, kullanıcıların kaynak oluşturma formuna gönderdiği bilgileri okumasına ve bir Google Workspace uygulamasındaki kaynağın bağlantısını eklemesine izin verir. Daha fazla bilgi için @ menüsünden üçüncü taraf kaynakları oluşturma bölümüne bakın. |