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, eklentiniz manifestinizde https://www.googleapis.com/auth/documents.currentonly
olarak yazılan "Mevcut dokümanı oku" kapsamını kullanabilir. Yetkilendirme akışı sırasında, bu kapsama sahip bir eklenti 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.
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, 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ı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.
Düzenleyici eklentisi kapsamları
Bir Düzenleyici eklentisi oluşturduğunuzda, gerekli kapsamlar eklenti kodunun kullandığı Apps Komut Dosyası hizmeti ve yöntemleriyle belirlenir. Örneğin, bir E-Tablolar eklentisinin farklı Google E-Tablolar'daki 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 Google E-Tablolar eklentisi komut dosyası proje dosyasına eklerseniz eklentinin yalnızca şu anda açık olan sayfada çalışmak için izne ihtiyacı olduğunu ve kullanıcının Google Drive'da sahip olabileceği diğer sayfalarda çalışmak için izne ihtiyacı olmadığını belirtmiş olursunuz. Aksine, E-Tablolar eklentinizin kullanıcının şu anda açık olmayan bir sayfadaki verileri okuması veya bu sayfaya veri yazması gerekiyorsa bu yorumu kullanmamalısınız.