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, 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 şu işlemleri yapmasına izin vermesini ister: Bu uygulamanın yüklendiği dokümanları görüntüleme ve yönetme.
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, 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ı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.
Düzenleyici eklentisi kapsamları
Düzenleyici eklentisi oluşturduğunuzda gerekli kapsamlar, eklenti kodunun kullandığı Google Apps Komut Dosyası hizmeti ve yöntemleri tarafından belirlenir. Örneğin, bir Google E-Tablolar eklentisinin farklı sayfalardaki 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 sayfadaki verileri okuması veya yazması gerekiyorsa bu yorumu kullanmamalısınız.