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, uygulamaya hangi izinlerin 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 manifestinizde 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. Bu kapsamdaki bir eklenti, yetkilendirme akışı sırasında 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ı hizmet yöntemlerinin gerektirdiği kapsamları Apps Komut Dosyası referans belgelerinde bulabilirsiniz.
Kapsamları görüntüleme
Komut dosyası projenizin şu anda gerektirdiği kapsamları görmek için aşağıdakileri yapabilirsiniz:
- Senaryo projesini açın.
- Solda 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 manifestosundaki oauthScopes alanında da görüntüleyebilirsiniz ancak yalnızca bu kapsamları 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 olan https://mail.google.com kapsamını 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ı, eklentinin ihtiyaçlarını karşılayan ancak daha fazlasını karşılamayan 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 dizeyi 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ı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 bu kapsamları 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 ya da 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ı erişimi |
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 gereklidir. Açık elektronik 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ş 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 bölümüne bakın. Bu kapsam genellikle [compose actions] (/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 bir oluşturma tetikleyicisinin yanıt e-posta taslağının alıcı listelerine (alıcı, cc ve bcc) erişmesine olanak tanır. |
| Açık ileti içeriğini okuma |
https://www.googleapis.com/auth/gmail.addons.current.message.action
Kullanıcı etkileşiminde (ör. bir eklenti menü öğesi seçildiğinde) 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 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 de 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ütürken veya tüm e-posta yazışmasını 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ının 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 benzer işlemlerin yapılmasına izin vermez. Dosya yetkilendirmesi dosya bazında verilir ve kullanıcı uygulamayı yetkilendirmeyi iptal ettiğinde geri alınır. Seçili dosyalar için dosya erişimi isteği örneğine 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 işlem etkinliği nesnesinden alınan bir erişim jetonunu kullanarak GmailApp.setCurrentMessageAccessToken numaralı telefonu arayı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 nasıl ayarlanacağına dair bir örnek gösterilmektedir. Bu örnek için gerekli tek kapsam https://www.googleapis.com/auth/gmail.addons.current.message.metadata kapsamı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 olanak tanır. Daha fazla bilgi edinmek 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 kaynağın bağlantısını eklemesine olanak tanır. Daha fazla bilgi için @ menüsünden üçüncü taraf kaynakları oluşturma başlıklı makaleyi inceleyin. |