Google Editor arayüzleri oluşturma

Google Workspace Eklentileri sayesinde Düzenleyiciler'de Google Dokümanlar, E-Tablolar ve Slaytlar dahil olmak üzere özelleştirilmiş arayüzler sağlayabilirsiniz. Bu, kullanıcıya alakalı bilgiler sağlamanıza, görevleri otomatikleştirmenize ve üçüncü taraf sistemleri Düzenleyicilere bağlamanıza olanak tanır.

Eklenti kullanıcı arayüzüne erişme

Bir Google Workspace eklentisinin Dokümanlar, E-Tablolar ve Slaytlar kullanıcı arayüzlerinin sağ tarafındaki Google Workspace hızlı erişim yan panelinde simgesi görünüyorsa Düzenleyiciler'de Eklenti'yi açabilirsiniz.

Bir Google Workspace eklentisi aşağıdaki arayüzleri sunabilir:

  • Ana sayfa arayüzleri: Eklentinin manifest dosyasında Düzenleyici için bir tetikleyici varsa EDITOR_NAME.homepageTrigger kullanıcı eklentiyi açarsa eklenti, özel olarak söz konusu Düzenleyici için bir ana sayfa kartı oluşturur ve döndürür. Eklentinin manifest dosyası, kullanıcının onu açtığı Düzenleyici için EDITOR_NAME.homepageTrigger içermiyorsa bunun yerine genel bir ana sayfa kartı görüntülenir.

  • REST API arayüzleri: Eklenti REST API'leri kullanıyorsa drive.file kapsamını kullanarak bir dokümana dosya başına erişim isteyen tetikleyiciler ekleyebilirsiniz. Erişim izni verildiğinde EDITOR_NAME.onFileScopeGrantedTrigger adlı başka bir tetikleyici yürütülür ve dosyaya özel bir arayüz görüntüler.

  • Bağlantı önizleme arayüzleri: Eklentiniz bir üçüncü taraf hizmetiyle entegreyse hizmetinizin URL'lerindeki içeriği önizleyen kartlar oluşturabilirsiniz.

Düzenleyici Eklentileri için arayüz oluşturma

Aşağıdaki adımları uygulayarak Düzenleyiciler için Düzenleyici Eklenti arayüzleri oluşturun:

  1. Eklenti komut dosyası projesi manifest dosyasına uygun addOns.common, addOns.docs, addOns.sheets ve addOns.slides alanlarını ekleyin.
  2. Gerekli tüm Düzenleyici kapsamlarını komut dosyası proje manifestinize ekleyin.
  3. Düzenleyici'ye özel bir ana sayfa sağlıyorsanız arayüzü oluşturmak için EDITOR_NAME.homepageTrigger işlevini uygulayın. Aksi takdirde, barındırma uygulamalarınız için ortak bir ana sayfa oluşturmak üzere common.homepageTrigger arayüzünü kullanın.
  4. REST API'leri kullanıyorsanız açık dosyaya özel bir arayüz görüntülemek için drive.file kapsam yetkilendirme akışını ve EDITOR_NAME.onFileScopeGrantedTrigger tetikleyici işlevini uygulayın. Daha fazla bilgi için REST API arayüzleri bölümünü inceleyin.
  5. Üçüncü taraf bir hizmetten bağlantı önizlemelerini yapılandırıyorsanız https://www.googleapis.com/auth/workspace.linkpreview kapsamı yetkilendirme akışını ve linkPreviewTriggers işlevini uygulayın. Daha fazla bilgi için Bağlantı önizleme arayüzleri bölümüne bakın.
  6. Kullanıcının kullanıcı arayüzü etkileşimlerine (ör. düğme tıklamaları) yanıt vermek için gereken ilişkili geri çağırma işlevlerini uygulayın.

Düzenleyici ana sayfaları

Eklentinizin komut dosyası projesinde, eklentinin ana sayfasını oluşturan tek bir Card veya Card nesne dizisi oluşturup döndüren bir ana sayfa tetikleyici işlevi sağlamanız gerekir.

Ana sayfa tetikleyici işlevi, istemcinin platformu gibi bilgileri içeren bir parametre olarak bir etkinlik nesnesine aktarılır. Ana sayfa yapısını özelleştirmek için etkinlik nesnesi verilerini kullanabilirsiniz.

Kullanıcının eklentinizi açtığı Düzenleyici'ye özel ortak bir ana sayfa veya ana sayfa sunabilirsiniz.

Ortak ana sayfayı görüntüle

Eklentinizin ortak ana sayfasını Düzenleyiciler'de göstermek için eklentinin manifest dosyasına addOns.docs, addOns.sheets veya addOns.slides gibi uygun Düzenleyici alanlarını ekleyin.

Aşağıdaki örnekte, bir Google Workspace Eklenti manifestinin addons bölümü gösterilmektedir. Eklenti; Dokümanlar, E-Tablolar ve Slaytlar'ı genişletir ve her ana makine uygulamasında ortak ana sayfayı gösterir.

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "sheets": {},
    "slides": {}
  }
}

Düzenleyiciye özel bir ana sayfa görüntüleme

Bir Düzenleyici'ye özel ana sayfa sunmak için eklenti manifestine EDITOR_NAME.homepageTrigger ekleyin.

Aşağıdaki örnekte, bir Google Workspace Eklentisi manifestinin addons bölümü gösterilmektedir. Eklenti; Dokümanlar, E-Tablolar ve Slaytlar için etkinleştirilir. Dokümanlar ve Slaytlar'da ortak ana sayfayı ve E-Tablolar'da benzersiz bir ana sayfayı görüntüler. Geri çağırma işlevi onSheetsHomepage, E-Tablolar'a özel ana sayfa kartını oluşturur.

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "slides": {},
    "sheets": {
     "homepageTrigger": {
       "runFunction": "onSheetsHomepage"
     },
  }
}

REST API arayüzleri

Eklentiniz Google Sheets API gibi REST API'leri kullanıyorsa Editor ana makine uygulamasında açık olan dosyaya özel yeni bir arayüz görüntülemek için onFileScopeGrantedTrigger işlevini kullanabilirsiniz.

onFileScopeGrantedTrigger işlevini kullanmak için drive.file kapsam yetkilendirme akışını eklemeniz gerekir. drive.file kapsamını nasıl isteyeceğinizi öğrenmek için Mevcut belge için dosya erişimi isteme bölümüne bakın.

Kullanıcı drive.file kapsamına izin verdiğinde EDITOR_NAME.onFileScopeGrantedTrigger.runFunction etkinleşir. Tetikleyici etkinleştiğinde, eklenti manifestindeki EDITOR_NAME.onFileScopeGrantedTrigger.runFunction alanında belirtilen içeriğe dayalı tetikleyici işlevini yürütür.

Düzenleyicilerden biri için REST API arayüzü oluşturmak için aşağıdaki adımları izleyin. EDITOR_NAME yerine, kullanmayı seçtiğiniz Editor ana makine uygulamasını (örneğin, sheets.onFileScopeGrantedTrigger) yazın.

  1. EDITOR_NAME.onFileScopeGrantedTrigger ifadesini manifest dosyanızdaki ilgili Editor bölümüne ekleyin. Örneğin, bu arayüzü Google E-Tablolar'da oluşturmak istiyorsanız tetikleyiciyi "sheets" bölümüne ekleyin.
  2. EDITOR_NAME.onFileScopeGrantedTrigger bölümünde adı geçen işlevi uygulayın. Bu işlev, bir etkinlik nesnesini bağımsız değişken olarak kabul eder ve tek bir Card nesnesi veya Card nesne dizisi döndürmesi gerekir.
  3. Tüm kartlarda olduğu gibi, arayüz için widget etkileşimi sağlamak amacıyla kullanılan geri çağırma işlevlerini de uygulamanız gerekir. Örneğin, arayüze bir düğme eklerseniz bu düğmenin ekli bir İşlem'i ve düğme tıklandığında çalışan uygulanmış bir geri çağırma işlevi olmalıdır.

Aşağıdaki örnekte, bir Google Workspace Eklentisi manifestinin addons bölümü gösterilmektedir. Eklenti REST API'lerini kullandığından onFileScopeGrantedTrigger, Google E-Tablolar'a dahildir. Bir kullanıcı drive.file kapsamını onayladığında, geri çağırma işlevi onFileScopeGrantedSheets dosyaya özel bir arayüz oluşturur.

"addOns": {
   "common": {
     "name": "Productivity add-on",
     "logoUrl": "https://www.gstatic.com/images/icons/material/system_gm/1x/work_outline_black_18dp.png",
     "layoutProperties": {
       "primaryColor": "#669df6",
       "secondaryColor": "#ee675c"
     }
   },
   "sheets": {
     "homepageTrigger": {
       "runFunction": "onEditorsHomepage"
     },
     "onFileScopeGrantedTrigger": {
       "runFunction": "onFileScopeGrantedSheets"
     }
   }

Üçüncü taraf bir hizmet için bağlantı önizlemelerini etkinleştirmek istiyorsanız eklentinizin manifest dosyasında bağlantı önizlemelerini yapılandırmanız ve önizleme kartı döndüren bir işlev oluşturmanız gerekir. Kullanıcı yetkilendirmesi gerektiren hizmetler için işleviniz, yetkilendirme akışını da çağırmalıdır.

Bağlantı önizlemelerini etkinleştirme adımları için Bağlantıları akıllı çiplerle önizleme başlıklı makaleyi inceleyin.

Etkinlik nesneleri

Bir etkinlik nesnesi oluşturulur ve EDITOR_NAME.homepageTrigger veya EDITOR_NAME.onFileScopeGrantedTrigger gibi tetikleyici işlevleri için aktarılır. Tetikleyici işlevi, eklenti kartlarının nasıl oluşturulacağını veya eklenti davranışının nasıl kontrol edileceğini belirlemek için etkinlik nesnesindeki bilgileri kullanır.

Etkinlik nesnelerinin tam yapısı Etkinlik nesneleri bölümünde açıklanmıştır.

Düzenleyici, eklentinin ana makine uygulaması olduğunda etkinlik nesneleri arasında istemci bilgilerini taşıyan Dokümanlar, E-Tablolar veya Slaytlar etkinlik nesnesi alanları bulunur.

Eklenti, geçerli kullanıcı veya doküman için drive.file kapsam yetkilendirmesine sahip değilse etkinlik nesnesi yalnızca docs.addonHasFileScopePermission, sheets.addonHasFileScopePermission veya slides.addonHasFileScopePermission alanını içerir. Eklentinin yetkilendirmesi varsa etkinlik nesnesi, tüm Editor etkinlik nesnesi alanlarını içerir.

Aşağıdaki örnekte sheets.onFileScopeGrantedTrigger işlevine geçirilen bir Editor etkinlik nesnesi gösterilmektedir. Eklenti, geçerli doküman için drive.file kapsam yetkilendirmesine sahiptir:

`        {
          "commonEventObject": { ... },
          "sheets": {
            "addonHasFileScopePermission": true,
            "id":"A_24Q3CDA23112312ED52",
            "title":"How to get started with Sheets"
          },
          ...
        }