Kapsamlar

Kullanıcılar, verilerine erişen veya kendi adlarına işlem yapan eklentileri ve diğer uygulamaları yetkilendirmelidir. Kullanıcı bir 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, uygulamanın ne yapmak için izin istediğini kullanıcıya bildirir. Örneğin, bir eklenti, kullanıcının e-posta iletisini okuma veya takviminde etkinlik oluşturma izni 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, Google Workspace eklentiniz, manifestinizde 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 eklentinin çalışırken e-posta iletilerinizi görüntülemesine izin vermesini ister.

Apps Komut Dosyası'nın çeşitli hizmetleri için kullandığı kapsamlar, ilgili API'nin kullandığı kapsamlarla çakışıyor. Örneğin, Apps Komut Dosyası'nın Takvim hizmeti, Calendar API ile aynı kapsamların çoğunu kullanır. Belirli Apps Komut Dosyası hizmeti yöntemlerinin gerektirdiği kapsamları Apps Komut Dosyası referans belgelerinde bulabilirsiniz.

Kapsamları görüntüleme

Aşağıdaki adımları uygulayarak komut dosyası projenizin şu anda gerektirdiği kapsamları görebilirsiniz:

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

Ayrıca, komut dosyası projesinin mevcut kapsamlarını proje manifestosundaki 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 kapsamlara ihtiyacı olduğunu otomatik olarak belirler. Bu, çoğu komut dosyası için yeterlidir ve zamandan tasarruf etmenizi sağlar. Ancak yayınlanmış eklentiler için kapsamlar üzerinde daha doğrudan kontrol sahibi olmanız gerekir.

Örneğin, Apps Komut Dosyası, eklenti komut dosyası projesine varsayılan olarak çok izin verici bir kapsam (https://mail.google.com) verebilir. Bir kullanıcı bu kapsamla 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 ve 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:

  1. Eklentinizin 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. Bu seçenek yoksa ekleyebilirsiniz.
  4. oauthScopes alanı, bir dizi dize belirtir. Projenizin kullandığı kapsamları ayarlamak için bu dizinin içeriğini, projenin kullanmasını istediğiniz kapsamlarla değiştirin. Örneğin, Gmail'i 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 yayınlanabilmesi için OAuth istemci doğrulaması sürecinden geçmesini gerektirebilir. Daha fazla bilgi için aşağıdaki kılavuzlara bakın:

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 ya da Düzenleyici eklentisi yayınlamayı planlıyorsanız eklenti, yayınlanmadan önce 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 koşullar'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 kapsamlarla ilgili teşhis bilgileri sağlar.

Google Workspace eklentileri için kapsam seçme

Aşağıdaki bölümlerde, Google Workspace eklentileri için en çok tercih edilen kapsamlar verilmiştir.

Düzenleyici kapsamları

Google Workspace eklentileri için sık kullanılan aşağıdaki kapsamlar, Google Dokümanlar, Google E-Tablolar ve Google Slaytlar'ı genişletir.

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

Eklenti, Google Apps Komut Dosyası Dokümanları API'sine erişiyorsa gereklidir. Açık belgenin içeriğine geçici erişim izni verir.

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

Eklenti, Apps Komut Dosyası E-Tablolar API'sine erişiyorsa zorunludur. Açık e-tablonun içeriğine geçici erişim izni verir.

Mevcut 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 bazında erişim https://www.googleapis.com/auth/drive.file

Eklentinin kullanması için zorunludur onFileScopeGrantedTrigger ve eklenti Dokümanlar, E-Tablolar, Slaytlar veya Drive API'ye erişiyorsa. Apps Komut Dosyası Gelişmiş Google Drive Hizmeti kullanılarak uygulama tarafından oluşturulan veya açılan dosyalara dosya başına erişim izni verir. Bu, temel Drive hizmeti kullanılarak yapılan benzer işlemlere izin vermez. Dosya yetkilendirmesi dosya bazında verilir ve kullanıcı uygulamanın yetkisini iptal ettiğinde geri alınır.

Gmail

Kullanıcı Gmail verilerinin korunmasına yardımcı olmak için Google Workspace eklentilerine özel olarak oluşturulmuş kapsamlar vardır. Bu kapsamları, gereken diğer kapsamlarla birlikte eklenti manifestinize açıkça ekleyin.

Aşağıdaki tabloda, Gmail'i genişleten Google Workspace eklentileri için sık kullanılan kapsamlar listelenmektedir. Eklentiniz Gmail'i genişletiyorsa Zorunlu olarak etiketlenen tüm kapsamları Google Workspace eklenti manifestinize eklemeniz gerekir.

Geniş kapsamlı https://mail.google.com kapsamını, eklentinizin ihtiyaç duyduğu etkileşimlere izin veren daha dar bir kapsam grubuyla değiştirin.

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

Eklenti compose action triggers kullanıyorsa gereklidir. Eklentinin geçici olarak yeni taslak iletiler ve yanıtlar oluşturmasına izin verir. Ayrıntılar için Taslak ileti oluşturma başlıklı makaleye bakın. Bu kapsam genellikle [oluşturma işlemleri] (/workspace/add-ons/gmail/extending-compose-ui) ile birlikte 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 (ör. konu veya alıcılar) geçici erişim izni verir. İleti 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, oluşturma tetikleyicisinin meta verilere erişmesi gerekiyorsa bu kapsam zorunludur. Bu kapsam, uygulamada, yanıtlama e-posta taslağının alıcı listelerine (alıcı, cc ve bcc) erişmek için oluşturma tetikleyicisine izin verir.

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

Kullanıcı etkileşimi (ör. bir eklenti menü öğesi seçildiğinde) üzerine açık iletinin içeriğine erişim izni verir. Erişim jetonu gerektirir.

Açık ileti dizisindeki içerikleri 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 iletilerin içeriğine erişim izni verir. Erişim jetonu gerektirir.

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

Açılan mesaj da dahil olmak üzere tüm e-posta meta verilerini ve içeriklerini okuma Arama sorgusu yürütürken veya tüm e-posta ileti dizisini okurken olduğu gibi diğer iletilerle ilgili bilgileri okumanız gerekiyorsa zorunludur.

Google Takvim kapsamları

Aşağıdaki tabloda, Google Takvim'i genişleten Google Workspace eklentileri için sık kullanılan kapsamlar listelenmektedir.

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 zorunludur. 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 zorunludur. 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.

Google Chat kapsamları

Google Chat API'sini çağırmak için Google Chat kullanıcısı veya Google Chat uygulaması olarak kimliğinizi doğrulayın. Her kimlik doğrulama türü farklı kapsamlar gerektirir ve tüm Chat API yöntemleri uygulama kimlik doğrulamasını desteklemez.

Chat kapsamları ve kimlik doğrulama türleri hakkında daha fazla bilgi edinmek için Chat API Kimlik doğrulama ve yetkilendirmeye genel bakış başlıklı makaleyi inceleyin.

Aşağıdaki tabloda, desteklenen kimlik doğrulama türlerine göre sık kullanılan Chat API yöntemleri ve kapsamları gösterilmektedir:

Yöntem Kullanıcı kimlik doğrulaması desteklenir. Uygulama kimlik doğrulaması desteklenir. Desteklenen yetkilendirme kapsamları
Mesaj gönderme Kullanıcı kimlik doğrulaması ile:
  • chat.messages.create
  • chat.messages
  • chat.import
Uygulama kimlik doğrulaması ile:
  • chat.bot
Alan oluşturma Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.create
  • chat.spaces
  • chat.import
Uygulama kimlik doğrulaması ve yönetici onayı ile (geliştirici önizlemesinde kullanılabilir):
  • chat.app.spaces.create
  • chat.app.spaces
Alan oluşturma ve alana üye ekleme Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.create
  • chat.spaces
Alana kullanıcı ekleme Kullanıcı kimlik doğrulaması ile:
  • chat.memberships
  • chat.memberships.app
  • chat.import
Uygulama kimlik doğrulaması ve yönetici onayı ile (geliştirici önizlemesinde kullanılabilir):
  • chat.app.memberships
Bir Chat alanındaki etkinlikleri veya etkinlikleri listeleme Kullanıcı kimlik doğrulaması ile, istekte yer alan her etkinlik türü için bir kapsam kullanmanız gerekir:
  • İletilerle ilgili etkinlikler için:
    • chat.messages
    • chat.messages.readonly
  • Tepkilerle ilgili etkinlikler için:
    • chat.messages.reactions
    • chat.messages.reactions.readonly
    • chat.messages
    • chat.messages.readonly
  • Üyeliklerle ilgili etkinlikler için:
    • chat.memberships
    • chat.memberships.readonly
  • Alanla ilgili etkinlikler için:
    • chat.spaces
    • chat.spaces.readonly

Google Drive kapsamları

Aşağıdaki tabloda, Google Drive'ı genişleten Google Workspace eklentileri için sık kullanılan kapsamlar listelenmektedir.

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

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

Dosya bazında erişim https://www.googleapis.com/auth/drive.file

Eklentinin Drive'daki dosyalara 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. Bu, temel Drive hizmeti kullanılarak yapılan benzer işlemlere izin vermez. Dosya yetkilendirmesi dosya bazında verilir ve kullanıcı uygulamanın yetkisini kaldırdığında iptal edilir. Seçili dosyalar için dosya erişimi isteği örneği bölümüne bakın.

Erişim jetonları

Google Workspace eklentilerinde kullanılan Gmail kapsamları, kullanıcı verilerini korumak için kullanıcı verilerine geçici erişim izni verir. Geçici erişimi etkinleştirmek için GmailApp.setCurrentMessageAccessToken işlevini işlem etkinliği nesnesinden alınan bir erişim jetonuyla çağırın.

Gmail kapsamlarını etkinleştiren erişim jetonu, ScriptApp.getOAuthToken tarafından döndürülen erişim jetonuyla aynı değil. İşlem etkinliği nesnesinde sağlanan jetonu kullanın.

Aşağıda, bir mesajın meta verilerine erişime izin vermek için erişim jetonunun ayarlanmasına ilişkin bir örnek gösterilmektedir. Bu örnek için gerekli tek kapsam https://www.googleapis.com/auth/gmail.addons.current.message.metadata'dır.

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();
}

Diğer Google Workspace kapsamları

Eklentiniz, diğer Google Workspace veya Apps Komut Dosyası hizmetlerini kullanıyorsa ek kapsamlar gerektirebilir. Çoğu durumda Apps Komut Dosyası bu kapsamları algılar ve manifesti otomatik olarak günceller. Manifestinizin kapsam listesini düzenlerken, daha dar bir alternatifle değiştirmediğiniz sürece kapsamları kaldırmayın.

Aşağıdaki tabloda, Google Workspace eklentilerinin sıklıkla kullandığı kapsamlar gösterilmektedir:

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 çağrılara izin ver https://www.googleapis.com/auth/script.external_request

Projenin UrlFetch istekleri göndermesine izin verir. Projede Apps Komut Dosyası için OAuth2 kitaplığı kullanılıyorsa da bu işlem gereklidir.

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

Projenin, mevcut kullanıcının yerel ayarını ve saat dilimini öğrenmesine olanak tanır. Ayrıntılar için Kullanıcı yerel ayarına ve saat dilimine erişme başlıklı makaleyi inceleyin.

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, üçüncü taraf hizmetindeki bağlantıları önizliyorsa gereklidir. Kullanıcı etkileşimde bulunurken projenin bir Google Workspace uygulamasındaki bağlantıyı görmesine izin verir. Daha fazla bilgi için Akıllı çiplerle bağlantıları önizleme başlıklı makaleyi inceleyin.

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

Eklenti, üçüncü taraf hizmetinde kaynak oluşturuyorsa zorunludur. Projenin, kullanıcıların kaynak oluşturma formuna gönderdiği bilgileri okumasına ve Google Workspace uygulamasına kaynak bağlantısı eklemesine olanak tanır. Daha fazla bilgi için @ menüsünden üçüncü taraf kaynakları oluşturma başlıklı makaleyi inceleyin.