Nişan dürbünleri

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 bağımsız izinleri OAuth kapsamları olarak tanımlar.

Kapsamları manifest'inizde beyan edersiniz kullanma konusunda yardımcı olabilir. Apps Script, yetkilendirme akışı sırasında kullanıcıya kapsamın kullanıcı tarafından okunabilir bir açıklamasını sunar. Örneğin, Google Workspace eklentiniz "Mevcut mesajı oku" kapsamını kullanabilir. Bu kapsam, manifest dosyanızda https://www.googleapis.com/auth/gmail.addons.current.message.readonly olarak yazılır. Yetkilendirme akışında, bu kapsama sahip bir eklenti kullanıcıdan eklentinin Eklenti çalışırken e-posta iletilerinizi görüntülemesine 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. Solda Genel bakış'ı tıklayın. .
  3. "Proje OAuth Kapsamları" bölümündeki kapsamları görüntüleyin.

Ayrıca, komut dosyası projesinin geçerli kapsamlarını proje manifest dosyasında da görüntüleyebilirsiniz. oauthScopes altında alanına sahip olmalıdır, ancak bu kapsamları açıkça ayarlamanız gerekir.

Açık kapsamları ayarlama

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. Kullanıcı bir komut dosyasını yetkilendirdiğinde bir projenin, kullanıcının Gmail hizmetine tam erişim hesap. Yayınlanan eklentiler için bu kapsamı ve daha fazlasını kapsayan sınırlı bir grup içerir.

Komut dosyası projenizin kullandığı kapsamları, manifest dosyasını düzenleyerek açıkça belirleyebilirsiniz. Manifest alanı oauthScopes bir dizidir kapsamdaki tüm kapsamları belirler. 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. Kapsamları ayarlamak için bu dizinin içeriğini, oluşturduğunuz kapsamlarla değiştirin bir şablondur. Örneğin, Gmail'in kapsamını genişleten bir Google Workspace eklentisi için aşağıdakilere sahip olabilirsiniz:

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

OAuth doğrulaması

Belirli hassas OAuth kapsamlarının kullanılması, eklentinizin OAuth istemci doğrulaması inceleyebilirsiniz. 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. kısıtlanmış bir veya daha fazla kapsam varsa eklenti, belirtilen tüm kısıtlamalara tabidir.

Kısıtlanmış kapsamların tam listesini inceleyin. inceleyin. Eklentiniz bunlardan herhangi birini kullanıyorsa şununla: Belirli API kapsamları için ek şartlar kontrol edin.

Takvim kapsamları

Google Takvim'i genişleten Google Workspace eklentileri için sık kullanılan kapsamlar aşağıda verilmiştir.

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

Eklenti, Takvim etkinliği meta verilerine erişiyorsa gereklidir. İzin verir etkinlik meta verilerine erişmek için eklentiyi kullanın.

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 ayarlandıysa 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 verileri 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 ayarlandıysa kullanılabilir.

Drive kapsamları

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

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

Eklenti, kullanıcı Drive'da öğe seçtiğinde tetiklenen bağlama dayalı bir arayüz kullanıyorsa gereklidir. Eklentinin, kullanıcının sahip olduğu öğelerle ilgili sınırlı meta verileri okumasına izin verir Google Drive'da seçili. Meta veri, öğenin kimliğiyle sınırlıdır. başlık, MIME türü, simge URL'si ve eklentinin bu öğeye erişebilir.

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

Eklentinin Drive'a ayrı ayrı erişmesi gerekiyorsa önerilir dosyalar. Apps Komut Dosyası Gelişmiş Drive Hizmeti'ni kullanarak uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verir. Bu, temel Drive hizmeti, . Dosya yetkilendirmesi dosya başına verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir.

Seçilen dosyalar için dosya erişimi isteğinde bulunma örneğine göz atın.

Gmail eklenti kapsamları

Bu program için özel olarak oluşturulmuş birkaç kapsam var. Kullanıcıların Gmail'ini korumaya yardımcı olacak Google Workspace Eklentileri dışı verilerdir. Eklenti kodunuzun gerektirdiği diğerlerinin yanı sıra bu kapsamları eklenti manifestinize açıkça eklemeniz gerekir.

Aşağıda, Gmail'i genişleten Google Workspace Eklentileri için sık kullanılan kapsamları görebilirsiniz: Zorunlu etiketli olanlar, Eklentiniz genişlerse Google Workspace Eklenti manifesti Gmail

Ayrıca, eklentinizdeki çok geniş https://mail.google.com kapsamını, eklentinizin ihtiyaç duyduğu etkileşimlere izin veren ve daha fazlasına 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 olanak tanır. Bkz. Taslak ileti oluşturma Ayrıntılı bilgi için ayrıca bu kapsam, oluşturma işlemlerini yapabilirsiniz. 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 (ör. konu veya alıcılar). İleti içeriğinin okunmasına izin vermez ve erişim jetonu gerektirir.

Eklenti, oluşturma işlemi tetikleyicilerinde meta veriler kullanıyorsa gereklidir. için oluşturma işlemlerini gerçekleştirme seçeneğini belirlediyseniz, bir oluşturma tetikleyicisi meta verilere erişmesi gerekir. Pratikte bu kapsamla, bir yanıtın erişim alıcı listelerini (alıcı:, cc: ve bcc:) tetikleme e-posta taslağı.

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

Bir kullanıcı etkileşimde bulunduğunda açık iletinin içeriğine erişim izni verir Örneğin bir eklenti menü öğesi seçildiğinde. Erişim gerektirir jeton.

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, ileti dizisi. Erişim jetonu gerektirir.

Tüm mesaj içeriklerini ve meta verilerini okuma https://www.googleapis.com/auth/gmail.readonly

Açık mesaj da dahil olmak üzere tüm e-posta meta verilerini ve içeriklerini okuma Diğer iletilerle ilgili bilgileri okumanız gerekiyorsa gereklidir. Örneğin: yaparken ya da posta dizisinin tamamını okurken bu işlemi yapmanızı öneririz.

Erişim jetonları

Kullanıcı verilerini korumak için, Yalnızca Google Workspace Eklentileri bağışı kullanıcı verilerine geçici erişim. Geçici erişimi etkinleştirmek için GmailApp.setCurrentMessageAccessToken(accessToken) işlevi bağımsız değişken olarak erişim jetonu olarak kullanabilirsiniz. İşlem etkinliği nesnesinden erişim jetonu almanız gerekir.

Aşağıda, bir mesajın meta verilerine erişime izin vermek için erişim jetonu ayarlama örneği gösterilmektedir. Bu örnek için gerekli olan tek kapsam: https://www.googleapis.com/auth/gmail.addons.current.message.metadata

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 E-Tablolar'ı destekleyen Google Workspace Eklentileri için ve Slaytlar.

Kapsam
Mevcut Dokümanlar dosyalarına erişim https://www.googleapis.com/auth/documents.currentonly

Eklentinin Apps Script Dokümanlar API'sine erişmesi gerekiyorsa gereklidir. Açık dokümanın içeriğine geçici erişim izni verir.

Geçerli E-Tablolar dosyasına erişim https://www.googleapis.com/auth/spreadsheets.currentonly

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

Geçerli Slaytlar dosyasına erişim https://www.googleapis.com/auth/presentations.currentonly

Eklenti, Apps Komut Dosyası Slaytlar API'sine erişiyorsa 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 gereklidir ve eklentinin Dokümanlar, E-Tablolar, Slaytlar veya Drive API'ye erişip erişmediği. Uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verirken Apps Komut Dosyası Gelişmiş Drive Hizmet. Ancak bu, temel Drive hizmeti kullanılarak benzer işlemlerin yapılmasına izin vermez. Dosya yetkilendirmesi dosya bazında verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir.

Diğer kapsamlar

Diğer Apps Script hizmetlerini kullanıyorsa eklentiniz için ek kapsamlar gerekebilir. Çoğu durumda, Apps Komut Dosyası'nın bu kapsamları tespit etmesine ve manifest'ini otomatik olarak oluşturabilir. Manifest'inizin kapsam listesini düzenlerken, daha dar bir kapsam gibi daha uygun bir alternatifle değiştirmediğiniz sürece hiçbir kapsamı kaldırmayın.

Referans olması amacıyla, Google Workspace eklentileriyle birlikte kullanılabilir:

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

Projenin mevcut kullanıcının e-posta adresini okumasına izin verir.

Harici hizmetlere yapılan aramalara izin verin https://www.googleapis.com/auth/script.external_request

Projenin şunları yapmasına olanak tanır: UrlFetch kabul edersiniz. Aynı zamanda proje, Apps Komut Dosyası için OAuth2 kitaplığını tıklayın.

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

Projenin mevcut kullanıcının yerel ayarını ve saat dilimini öğrenmesine olanak tanır. Bkz. Ayrıntılar için kullanıcının yerel ayarına ve saat dilimine erişme.

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

Projenin şunları oluşturmasını sağlar: tetikleyiciler hakkında daha fazla bilgi edinin.

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

Eklenti bir üçüncü taraf hizmetinden gelen bağlantıları önizleiyorsa gereklidir. Kullanıcı uygulamayla etkileşim kurarken projenin Google Workspace uygulamasındaki bir bağlantıyı görmesine izin verir. Daha fazla bilgi edinmek için bkz. Bağlantıları akıllı çiplerle önizleyin.

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

Eklentinin üçüncü taraf hizmetinde kaynak oluşturması durumunda gereklidir. Projenin, kullanıcıların gönderdiği bilgileri okumasına izin verir kaynak oluşturma formunu Bir Google Workspace uygulamasında kaynağın bağlantısını ekleyin. Daha fazla bilgi edinmek için bkz. @ menüsünden üçüncü taraf kaynakları oluşturun.