Düzenleyici Eklentileri için yetkilendirme kapsamları

Kullanıcılar, verilerine erişen veya kendileri adına hareket eden eklentileri ve diğer uygulamaları yetkilendirmelidir. Kullanıcı bir eklentiyi ilk kez çalıştırdığında eklenti kullanıcı arayüzü, yetkilendirme akışını başlatmak için bir yetkilendirme istemi gösterir.

Bu akış sırasında istem, kullanıcıya uygulamanın ne tür izinler istediğini bildirir. Örneğin, bir eklenti kullanıcının e-posta mesajını okumak veya takviminde etkinlik oluşturmak için izin isteyebilir. Eklentinin komut dosyası projesi bu izinleri OAuth kapsamları olarak tanımlar.

URL dizeleri kullanarak manifest dosyanızda kapsamları beyan edersiniz. Apps Script, yetkilendirme akışı sırasında kullanıcıya kapsamın kullanıcı tarafından okunabilir bir açıklamasını sunar. Örneğin, eklentiniz "Mevcut dokümanı oku" kapsamını kullanabilir. Bu kapsam, manifest dosyanızda https://www.googleapis.com/auth/documents.currentonly olarak yazılır. Yetkilendirme akışında, bu kapsama sahip bir eklenti kullanıcıdan eklentinin Bu uygulamanın yüklendiği dokümanları görüntüleme ve yönetme işlemine izin vermesini ister.

Kapsamları görüntüleme

Aşağıdakileri yaparak komut dosyası projenizin şu anda ihtiyaç duyduğu kapsamları görebilirsiniz:

  1. Komut dosyası projesini açın.
  2. Sol tarafta Genel bakış'ı tıklayın.
  3. "Proje OAuth Kapsamları" bölümündeki kapsamları görüntüleyin.

Komut dosyası projesinin mevcut kapsamlarını, proje manifestinde oauthScopes alanının altında da görüntüleyebilirsiniz. Ancak bu kapsamları açıkça ayarlamanız gerekir.

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. Çoğu komut dosyası için bu yeterlidir ve size zaman kazandırır ancak yayınlanan eklentiler için 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 bir kapsam https://mail.google.com verebilir. Bir kullanıcı bu kapsama sahip bir komut dosyası projesine yetki verdiğinde projeye kullanıcının Gmail hesabına tam erişim izni verilir. Yayınlanan eklentiler için bu kapsamı, eklentilerin ihtiyaçlarını karşılayan ve daha fazlasını kapsamayan daha sınırlı bir grupla değiştirmeniz gerekir.

Komut dosyası projenizin kullandığı kapsamları, manifest dosyasını düzenleyerek açıkça belirleyebilirsiniz. Manifest alanı oauthScopes, eklenti tarafından kullanılan tüm kapsamların bir dizisidir. Projenizin kapsamlarını ayarlamak için aşağıdakileri yapın:

  1. Eklentinizin şu anda kullandığı kapsamları görüntüleyin. Daha dar bir kapsam kullanmak gibi yapılması gereken değişiklikleri belirleyin.
  2. Eklentinizin manifest dosyasını açın.
  3. oauthScopes etiketli üst düzey alanı bulun. Bu seçenek yoksa ekleyebilirsiniz.
  4. 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, 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"
      ],
      ...
    }
    

  5. Manifest dosyasındaki değişiklikleri kaydedin.

OAuth doğrulaması

Belirli hassas OAuth kapsamlarını kullanmanız, eklentinizi yayınlayabilmeniz için OAuth istemci doğrulamasından geçmesini gerektirebilir. Daha fazla bilgi için aşağıdaki kılavuzları inceleyin:

Kısıtlanmış kapsamlar

Belirli kapsamlar kısıtlanmış olup kullanıcı verilerini korumaya yardımcı olan ek kurallara tabidir. Bir veya daha fazla kısıtlanmış kapsam kullanan bir Gmail ya da Düzenleyici eklentisi yayınlamak istiyorsanız eklentinin yayınlanabilmesi için belirtilen tüm kısıtlamalara uyması gerekir.

Yayınlamayı denemeden önce kısıtlanmış kapsamların tam listesini inceleyin. Eklentinizde bunlardan herhangi biri kullanılıyorsa yayınlamadan önce Belirli API kapsamları için ek şartlar'a uymanız gerekir.

Düzenleyici eklentisi kapsamları

Düzenleyici eklentisi oluşturduğunuzda gerekli kapsamlar, Apps Komut Dosyası hizmeti ve eklenti kodunun kullandığı yöntemler tarafından belirlenir. Örneğin, bir E-Tablolar eklentisinin farklı Google E-Tablolar'daki bilgileri okuması 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 genellikle kapsamları kendiniz belirlemek ve açıkça ayarlamak yerine bu otomatik kapsam toplama özelliğinden yararlanabilirsiniz.

Kapsamlarınızı açıkça ayarlamıyorsunuz ve Düzenleyici Eklentiniz yalnızca açık düzenleyici dosyasını okuyor veya bu dosyaya yazıyorsa komut dosyası proje dosyalarınızdan birine aşağıdaki yorumu ekleyin:

  /**
   * @OnlyCurrentDoc
   */

Bu yorum, Apps Komut Dosyası'na, ayarlamakta olduğu düzenleyici dosyası kapsamlarını currentonly olarak daraltmasını söyler. Örneğin, bu yorumu bir Google E-Tablolar eklentisi komut dosyası proje dosyasına eklerseniz eklentinin yalnızca kullanıcının Google Drive'da sahip olabileceği diğer E-Tablolar yerine, yalnızca şu anda açık olan E-Tablo üzerinde işlem yapmak için izine ihtiyacı olduğunu belirtirsiniz. Buna karşılık, E-Tablolar eklentinizin kullanıcının şu anda açmadığı bir E-Tablo'da veri okuması veya yazması gerekiyorsa bu yorumu kullanmamalısınız.