Kullanıcılar, verilerine erişen veya kendi adlarına işlem yapan komut dosyası projelerini yetkilendirmelidir. Kullanıcı, yetkilendirme gerektiren bir komut dosyasını ilk kez çalıştırdığında kullanıcı arayüzü, yetkilendirme akışını başlatmasını isteyen bir istem gösterir.
Bu akış sırasında kullanıcı arayüzü, komut dosyasının ne yapmak için izin istediğini kullanıcıya bildirir. Örneğin, bir komut dosyası kullanıcının e-posta mesajlarını okumak veya takviminde etkinlik oluşturmak için izin isteyebilir. Komut dosyası projesi bu izinleri OAuth kapsamları olarak tanımlar.
Apps Komut Dosyası, çoğu komut dosyası için ihtiyacınız olan kapsamları otomatik olarak algılar. Bir komut dosyasının kullandığı kapsamları dilediğiniz zaman görüntüleyebilirsiniz. URL dizeleri kullanarak manifest kapsamları açıkça da ayarlayabilirsiniz. Yayınlanan uygulamalar her zaman mümkün olan en dar kapsamları kullanacağından, eklentiler gibi belirli uygulamalar için bazen kapsamları açıkça ayarlamak gerekir.
Apps Script, yetkilendirme akışı sırasında kullanıcıya gerekli kapsamların kullanıcı tarafından okunabilir açıklamalarını sunar. Örneğin, komut dosyanızın e-tablonuz için salt okuma erişimine ihtiyacı varsa manifest'in kapsamı https://www.googleapis.com/auth/spreadsheets.readonly
olabilir. Yetkilendirme akışı sırasında, bu kapsama sahip bir komut dosyası kullanıcıdan bu uygulamanın "Google E-Tablolarınızı görüntülemesine" izin vermesini ister.
Bazı kapsamlar diğerlerini kapsar. Örneğin, yetkilendirildiğinde https://www.googleapis.com/auth/spreadsheets
kapsamı e-tablolara okuma ve yazma erişimi sağlar.
Kapsamları görüntüleme
Aşağıdakileri yaparak komut dosyası projenizin şu anda ihtiyaç duyduğu kapsamları görebilirsiniz:
- Komut dosyası projesini açın.
- Solda Genel Bakış'ı tıklayın.
- Kapsamları Proje OAuth Kapsamları bölümünde görüntüleyin.
Açık kapsamlar belirleme
Apps Komut Dosyası, bir komut dosyasının ihtiyaç duyduğu kapsamları, kodunu bu kapsamları gerektiren işlev çağrıları açısından tarayarak otomatik olarak belirler. Bu, çoğu komut dosyası için yeterlidir ve size zaman kazandırır ancak yayınlanan eklentiler, web uygulamaları, Google Chat uygulamaları ve Google Chat API'ye yapılan çağrılar için kapsamları daha doğrudan kontrol etmeniz gerekir.
Apps Komut Dosyası bazen projelere otomatik olarak çok izin verici kapsamlar atar. Bu, komut dosyanızın kullanıcıdan ihtiyaç duyduğundan daha fazla bilgi istediği anlamına gelebilir. Bu, kötü bir uygulamadır. Yayınlanan komut dosyalarında, geniş kapsamları komut dosyasının ihtiyaçlarını karşılayan ve daha fazlasını kapsamayan daha sınırlı bir kümeyle değiştirmeniz gerekir.
Komut dosyası projenizin kullandığı kapsamları, manifest dosyasını düzenleyerek açıkça belirleyebilirsiniz. manifest alanı oauthScopes
, proje tarafından kullanılan tüm kapsamların bir dizisidir. Projenizin kapsamlarını ayarlamak için aşağıdakileri yapın:
- Komut dosyası projesini açın.
- Sol tarafta Proje Ayarları'nı tıklayın.
- "appsscript.json" manifest dosyasını düzenleyicide göster onay kutusunu işaretleyin.
- Sol tarafta Düzenleyici'yi tıklayın.
- Soldaki
appsscript.json
dosyasını tıklayın. oauthScopes
etiketli üst düzey alanı bulun. Dosya yoksa ekleyebilirsiniz.oauthScopes
alanı bir dize dizisi belirtir. Projenizin kullanacağı kapsamları ayarlamak için bu dizinin içeriğini, kullanmak istediğiniz kapsamlarla değiştirin. Örneğin:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- Üstte Kaydet'i tıklayın.
OAuth doğrulaması
Google Kullanıcı Verileri'ne erişime izin verdikleri için belirli OAuth kapsamları hassastır. Komut dosyası projenizde kullanıcı verilerine erişime izin veren kapsamlar kullanılıyorsa projeyi web uygulaması veya eklenti olarak herkese açık olarak yayınlayabilmeniz için OAuth istemci doğrulamasından geçmesi gerekir. Daha fazla bilgi için aşağıdaki kılavuzları inceleyin:
- Apps Script 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
Hassas kapsamlara ek olarak belirli kapsamlar kısıtlanmış olarak sınıflandırılır ve kullanıcı verilerinin korunmasına yardımcı olan ek kurallara tabidir. Bir veya daha fazla kısıtlanmış kapsam kullanan bir web uygulaması ya da eklenti yayınlamak istiyorsanız uygulamanın yayınlanabilmesi için belirtilen tüm kısıtlamalara uyması gerekir.
Yayınlamayı denemeden önce kısıtlanmış kapsamların tam listesini inceleyin. Uygulamanızda bunlardan herhangi biri kullanılıyorsa yayınlamadan önce Belirli API Kapsamları İçin Ek Gereksinimler'e uymanız gerekir.