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, eklentiniz manifestinizde https://www.googleapis.com/auth/documents.currentonly olarak yazılan "Read current document" (Mevcut dokümanı oku) kapsamını kullanabilir. Bu kapsamdaki bir eklenti, yetkilendirme akışı sırasında kullanıcıdan eklentinin bu uygulamanın yüklendiği dokümanları görüntülemesine ve yönetmesine 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, E-Tablolar'ı genişleten bir Düzenleyici eklentisi için aşağıdakilere sahip olabilirsiniz:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.container.ui", "https://www.googleapis.com/auth/spreadsheets" ], ... }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.
Düzenleyici eklentisi kapsamları
Düzenleyici eklentisi oluşturduğunuzda gerekli kapsamlar, eklenti kodunun kullandığı Google Apps Komut Dosyası hizmeti ve yöntemleriyle belirlenir. Örneğin, bir Google E-Tablolar eklentisinin farklı e-tablolardaki bilgileri okumak için https://www.googleapis.com/auth/spreadsheets.readonly kapsamına ihtiyacı olabilir.
Apps Komut Dosyası, komut dosyası projenize kod eklerken kullandığınız hizmetlerin gerektirdiği kapsamları otomatik olarak belirler. Düzenleyici eklentileri için kapsamları kendiniz belirleyip açıkça ayarlamak yerine genellikle bu otomatik kapsam toplama işlemine güvenebilirsiniz.
Kapsamlarınızı açıkça ayarlamıyorsanız ve düzenleyici eklentiniz yalnızca açık düzenleyici dosyasını okuyor veya bu dosyaya yazıyorsa komut dosyası projesi dosyalarınızdan birine aşağıdaki yorumu ekleyin:
/**
* @OnlyCurrentDoc
*/
Bu yorum, Apps Komut Dosyası'na, ayarladığı düzenleyici dosya kapsamlarını currentonly ile sınırlandırmasını söyler. Örneğin, bu yorumu bir E-Tablolar eklenti komut dosyası proje dosyasına eklerseniz eklentinin yalnızca açık E-Tablo üzerinde çalışmak için izne ihtiyacı olduğunu ve kullanıcının Google Drive'da sahip olabileceği diğer E-Tablolar için izne ihtiyacı olmadığını belirtmiş olursunuz. Aksine, E-Tablolar eklentinizin kullanıcının açık olmayan bir sayfada veri okuması veya yazması gerekiyorsa bu yorumu kullanmamalısınız.