Nişan dürbünleri

Kullanıcıların, verilerine erişen ya da kendi adlarına işlem yapan eklentileri ve diğer uygulamaları yetkilendirmesi gerekir. 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 sunar.

Bu akış sırasında istem kullanıcıya uygulamanın ne yapması için izin istediğini söyler. Ö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.

Kapsamları, URL dizelerini kullanarak manifestinizde tanımlarsınız. Yetkilendirme akışı sırasında Apps Komut Dosyası, kullanıcıya kapsamla ilgili okunabilir bir açıklama sunar. Örneğin, Google Workspace Eklentiniz, manifest dosyanıza https://www.googleapis.com/auth/gmail.addons.current.message.readonly olarak yazılan "Mevcut mesajı oku" kapsamını kullanabilir. Yetkilendirme akışı sırasında, bu kapsama sahip bir eklenti, kullanıcıdan eklentiye şu izinleri vermesini ister: Eklenti çalışırken e-posta iletilerinizi görüntüleme.

Kapsamları görüntüleme

Aşağıdakileri yaparak komut dosyası projenizin şu anda gerektirdiği 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ı, yalnızca bu kapsamları açıkça ayarladıysanız proje manifestindeki oauthScopes alanında da görüntüleyebilirsiniz.

Açık kapsamları ayarlama

Apps Komut Dosyası, bir komut dosyasının kodunu, komut dosyası gerektiren işlev çağrıları için tarayarak hangi kapsamlara ihtiyaç duyduğunu otomatik olarak belirler. Çoğu komut dosyası için bu yeterli olur ve size zaman kazandırır, ancak yayınlanan eklentiler için kapsamlar üzerinde daha doğrudan kontrole sahip olmanız gerekir.

Örneğin, Apps Komut Dosyası, bir eklenti komut dosyası projesine varsayılan olarak oldukça geniş kapsamlı https://mail.google.com verebilir. Bir kullanıcı bu kapsamla bir komut dosyası projesini yetkilendirdiğinde, projeye kullanıcının Gmail hesabına tam erişim verilir. Yayınlanan eklentiler için bu kapsamı, eklentilerin ihtiyaçlarını karşılayan ve başka hiçbir şey içermeyen daha sınırlı bir grupla 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ı içeren bir dizidir. Projenizin kapsamlarını belirlemek için şunları yapın:

  1. Eklentinizin şu anda kullandığı kapsamları görüntüleyin. Daha dar bir kapsam kullanmak gibi hangi değişikliklerin yapılması gerektiğini belirleyin.
  2. Eklentinizin manifest dosyasını açın.
  3. oauthScopes etiketli üst düzey alanı bulun. Yoksa ekleyebilirsiniz.
  4. oauthScopes alanı bir dize dizisi belirtir. Projenizin kullandığı kapsamları ayarlamak için bu dizinin içeriğini, kullanmasını istediğiniz kapsamlarla değiştirin. Örneğin, Gmail'in kapsamını genişleten bir Google Workspace eklentisi için:

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
  5. Manifest dosyasındaki değişiklikleri kaydedin.

OAuth doğrulaması

Bazı hassas OAuth kapsamlarının kullanılması, eklentinin yayınlanabilmesi için önce OAuth istemci doğrulamasından geçmesini gerektirebilir. Daha fazla bilgi için aşağıdaki kılavuzlara bakın:

Kısıtlanmış kapsamlar

Belirli kapsamlar kısıtlanır ve 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ınlamadan önce kısıtlanmış kapsamların tam listesini inceleyin. Eklentiniz bunlardan herhangi birini kullanıyorsa yayınlamadan önce Belirli API kapsamları için ek gereksinimler'e uymanız gerekir.

Takvim kapsamları

Aşağıda, Google Takvim'in kapsamını genişleten Google Workspace Eklentileri için sık kullanılan kapsamları bulabilirsiniz.

Kapsam
Etkinlik meta verilerine erişme https://www.googleapis.com/auth/calendar.addons.execute

Eklenti, Takvim etkinliği meta verilerine erişiyorsa gereklidir. Eklentinin etkinlik meta verilerine erişmesine izin verir.

Kullanıcı tarafından oluşturulan etkinlik verilerini okuma https://www.googleapis.com/auth/calendar.addons.current.event.read

Eklentinin, kullanıcı tarafından oluşturulan etkinlik verilerini okuması gerekiyorsa gereklidir. Eklentinin, kullanıcı tarafından oluşturulan etkinlik verilerine erişmesine izin verir. Bu veriler yalnızca addOns.calendar.eventAccess manifest alanı READ veya READ_WRITE olarak ayarlanmışsa kullanılabilir.

Kullanıcı tarafından oluşturulan etkinlik verilerini yazma https://www.googleapis.com/auth/calendar.addons.current.event.write

Eklentinin kullanıcı tarafından oluşturulan etkinlik verilerini yazması gerekiyorsa gereklidir. Eklentinin, kullanıcı tarafından oluşturulan etkinlik verilerini düzenlemesine izin verir. Bu veriler yalnızca addOns.calendar.eventAccess manifest alanı WRITE veya READ_WRITE olarak ayarlanmışsa kullanılabilir.

Drive kapsamları

Aşağıda, Google Drive'ı genişleten Google Workspace Eklentileri için sık kullanılan kapsamları bulabilirsiniz.

Kapsam
Seçili öğe meta verilerini oku https://www.googleapis.com/auth/drive.addons.metadata.readonly

Eklenti, kullanıcı Drive'daki öğeleri seçtiğinde tetiklenen bir içeriğe dayalı arayüz uygularsa gereklidir. Eklentinin, bir kullanıcının Google Drive'da seçtiği öğelerle ilgili sınırlı meta verileri okumasına izin verir. Meta veri; öğenin kimliği, başlığı, MIME türü, simge URL'si ve eklentinin öğeye erişim izni olup olmadığıyla sınırlıdır.

Dosya başına erişim https://www.googleapis.com/auth/drive.file

Eklentinin, Drive dosyalarına tek tek erişmesi gerekiyorsa önerilir. Apps Komut Dosyası Gelişmiş Drive Hizmeti kullanılarak uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verir. Ancak bu ayarda, temel Drive hizmeti ile benzer işlemlerin kullanılmasına izin verilmez. Dosya yetkilendirmesi dosya başına verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir.

Seçili dosyalara erişim isteği örneği bölümüne göz atın.

Gmail eklenti kapsamları

Kullanıcıların Gmail verilerini korumaya yardımcı olması amacıyla Google Workspace Eklentileri için özel olarak oluşturulmuş birkaç kapsam vardır. Bu kapsamları, eklenti kodunuzun gerektirdiği diğer tüm içeriklerle birlikte eklenti manifest dosyanıza açıkça eklemeniz gerekir.

Aşağıda, Gmail'i genişleten Google Workspace Eklentileri için sık kullanılan kapsamları bulabilirsiniz. Eklentiniz Gmail'i de kapsıyorsa Google Workspace Eklenti manifestinize Zorunlu olarak etiketlenen kapsamlar eklenmelidir.

Ayrıca, eklentinizdeki çok geniş https://mail.google.com kapsamını, eklentinizin ihtiyaç duyduğu etkileşimlere izin veren ve başka hiçbir bilgiye izin vermeyen daha dar bir kapsam grubuyla değiştirdiğinizden emin olun.

Kapsam
Yeni taslak oluşturma https://www.googleapis.com/auth/gmail.addons.current.action.compose

Eklenti oluşturma işlemi tetikleyicileri kullanıyorsa gereklidir. Eklentinin geçici olarak yeni taslak iletiler ve yanıtlar oluşturmasına izin verir. Ayrıntılı bilgi için Taslak mesaj oluşturma bölümüne bakın. Bu kapsam genellikle oluşturma işlemleriyle de kullanılır. Erişim jetonu gerektirir.

Açık mesaj meta verilerini okuma https://www.googleapis.com/auth/gmail.addons.current.message.metadata

Açık iletinin meta verilerine (konu veya alıcılar gibi) geçici erişim izni verir. Mesaj içeriğinin okunmasına izin vermez ve erişim jetonu gerektirir.

Eklenti, oluşturma işlemi tetikleyicilerinde meta veri kullanıyorsa gereklidir. Oluşturma işlemleri için bu kapsam, bir oluşturma tetikleyicisinin meta verilere erişmesi gerektiğinde gereklidir. Pratikte bu kapsam, bir oluşturma e-postası taslağının erişim alıcı listelerini (kime:, cc: ve bcc:) tetiklemesini sağlar.

Açık ileti içeriğini okuma https://www.googleapis.com/auth/gmail.addons.current.message.action

Eklenti menü öğesi seçildiğinde olduğu gibi, kullanıcı etkileşiminden sonra açık mesajın içeriğine erişim izni verir. Erişim jetonu gerektirir.

Açık ileti dizisi içeriğini okuma https://www.googleapis.com/auth/gmail.addons.current.message.readonly

Açık iletinin meta verilerine ve içeriğine geçici erişim izni verir. Ayrıca açık ileti dizisindeki diğer mesajların içeriğine de erişim izni verir. Erişim jetonu gerektirir.

Tüm ileti içeriğini ve meta verilerini okuma https://www.googleapis.com/auth/gmail.readonly

Açık ileti de dahil olmak üzere tüm e-posta meta verilerini ve içeriğini okuma. Arama sorgusu yürütürken veya posta ileti dizisinin tamamını okurken, diğer mesajlarla ilgili bilgileri okumanız gerekiyorsa gereklidir.

Erişim jetonları

Google Workspace eklentilerinde kullanılan Gmail kapsamları, kullanıcı verilerini korumak için yalnızca kullanıcı verilerine geçici erişim izni verir. Geçici erişimi etkinleştirmek için erişim jetonunu bağımsız değişken olarak kullanarak GmailApp.setCurrentMessageAccessToken(accessToken) işlevini çağırmanız gerekir. Bir eylem etkinliği nesnesinden erişim jetonu almanız gerekir.

Aşağıda, bir mesajın meta verilerine erişim izni vermek için erişim jetonu ayarlamayla ilgili bir örnek gösterilmektedir. Bu örnek için gereken tek kapsam https://www.googleapis.com/auth/gmail.addons.current.message.metadata değeridir.

function readSender(e) {
  var accessToken = e.gmail.accessToken;
  var messageId = e.gmail.messageId;

  // The following function enables short-lived access to the current
  // message in Gmail. Access to other Gmail messages or data isn't
  // permitted.
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  return mailMessage.getFrom();
}

Düzenleyici kapsamları

Aşağıda, Dokümanlar, E-Tablolar ve Slaytlar'ı genişleten Google Workspace Eklentileri için sık kullanılan kapsamları bulabilirsiniz.

Kapsam
Geçerli Dokümanlar dosya erişimi https://www.googleapis.com/auth/documents.currentonly

Eklenti, Apps Script Docs API'ye erişirse gereklidir. Açık dokümanın içeriğine geçici erişim izni verir.

Geçerli E-Tablolar dosya erişimi https://www.googleapis.com/auth/spreadsheets.currentonly

Eklenti, Apps Script Sheets API'ye erişirse gereklidir. Açık e-tablonun içeriğine geçici erişim izni verir.

Mevcut Slaytlar dosya erişimi https://www.googleapis.com/auth/presentations.currentonly

Eklenti, Apps Komut Dosyası Slaytlar API'sine erişirse gereklidir. Açık sununun içeriğine geçici erişim izni verir.

Dosya başına erişim https://www.googleapis.com/auth/drive.file

Eklentinin onFileScopeGrantedTrigger kullanması için ve eklentinin Dokümanlar, E-Tablolar, Slaytlar veya Drive API'ye erişmesi için gereklidir. Apps Komut Dosyası Gelişmiş Drive Hizmeti kullanılarak uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verir. Ancak bu ayarda, temel Drive hizmeti ile benzer işlemlerin kullanılmasına izin verilmez. Dosya yetkilendirmesi her dosya için ayrı ayrı verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir.

Diğer kapsamlar

Eklentiniz başka Apps Komut Dosyası hizmetlerini kullanıyorsa ek kapsamlar gerektirebilir. Çoğu durumda, Apps Komut Dosyası'nın bu kapsamları algılamasına ve manifesti otomatik olarak güncellemesine izin verebilirsiniz. Manifest'inizin kapsam listesini düzenlerken, kapsamı daha dar kapsamlı bir kapsam gibi daha uygun bir alternatifle değiştirmiyorsanız hiçbir kapsamı kaldırmayın.

Referans olması amacıyla, genellikle Google Workspace Eklentileri ile birlikte kullanılan Apps Komut Dosyası kapsamlarının bir listesini aşağıda bulabilirsiniz:

Kapsam
Kullanıcının e-posta adresini okuma https://www.googleapis.com/auth/userinfo.email

Projenin, geçerli kullanıcının e-posta adresini okumasına izin verir.

Harici hizmetlere çağrılara izin ver https://www.googleapis.com/auth/script.external_request

Projenin UrlFetch isteklerinde bulunmasına izin verir. Projenin Apps Komut Dosyası için OAuth2 kitaplığını kullanması durumunda da bu gereklidir.

Kullanıcının yerel ayarını ve saat dilimini okuma https://www.googleapis.com/auth/script.locale

Projenin, geçerli kullanıcının yerel ayarını ve saat dilimini öğrenmesini sağlar. Ayrıntılar için Kullanıcı yerel ayarına ve saat dilimine erişme bölümüne bakın.

Tetikleyiciler oluşturma https://www.googleapis.com/auth/script.scriptapp

Projenin tetikleyici oluşturmasına izin verir.

Üçüncü taraf bağlantılarını önizleme https://www.googleapis.com/auth/workspace.linkpreview

Eklenti, bir üçüncü taraf hizmetinin bağlantılarını önizlediğinde gereklidir. Kullanıcı uygulama ile etkileşimde bulunurken projenin, Google Workspace uygulaması içindeki bir bağlantıyı görmesine izin verir. Daha fazla bilgi edinmek için Bağlantıları akıllı çiplerle önizleme başlıklı makaleyi inceleyin.

Üçüncü taraf kaynakları oluşturma https://www.googleapis.com/auth/workspace.linkcreate

Eklenti, bir üçüncü taraf hizmetinde kaynak oluşturuyorsa gereklidir. Projenin, kullanıcıların kaynak oluşturma formuna gönderdiği bilgileri okumasına ve bir Google Workspace uygulamasındaki kaynağın bağlantısını eklemesine izin verir. Daha fazla bilgi için @ menüsünden üçüncü taraf kaynakları oluşturma bölümüne bakın.