Google Editor arayüzleri oluşturma

Google Workspace eklentileriyle, Google Dokümanlar, E-Tablolar ve Slaytlar dahil olmak üzere Düzenleyiciler'de özelleştirilmiş arayüzler sağlayabilirsiniz. Bu sayede kullanıcıya alakalı bilgiler sağlayabilir, görevleri otomatikleştirip üçüncü taraf sistemlerini Düzenleyiciler'e bağlayabilirsiniz.

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

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

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

  • Ana sayfa arayüzleri: Eklentinin manifest dosyasında, kullanıcının eklentiyi açtığı düzenleyici için tetikleyici EDITOR_NAME.homepageTrigger varsa eklenti, özellikle bu düzenleyici için bir ana sayfa kartı oluşturup döndürür. Eklentinin manifest dosyasında, kullanıcının açtığı düzenleyici için EDITOR_NAME.homepageTrigger yoksa bunun yerine genel bir ana sayfa kartı gösterilir.

  • REST API arayüzleri: Eklenti REST API'leri kullanıyorsa drive.file kapsamını kullanarak bir belgeye dosya başına erişim isteyen tetikleyiciler ekleyebilirsiniz. İzin verildikten sonra EDITOR_NAME.onFileScopeGrantedTrigger adlı başka bir tetikleyici çalıştırılır ve dosyaya özel bir arayüz gösterilir.

  • Bağlantı önizleme arayüzleri: Eklentiniz bir üçüncü taraf hizmetiyle entegre oluyorsa 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 Eklentisi arayüzleri oluşturun:

  1. Eklenti komut dosyası projesinin manifest dosyasına uygun addOns.common, addOns.docs, addOns.sheets ve addOns.slides alanlarını ekleyin.
  2. Gerekli Editor kapsamlarını komut dosyası projesi manifestinize ekleyin.
  3. Editöre ö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ırıcı 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 drive.file kapsam yetkilendirme akışını ve EDITOR_NAME.onFileScopeGrantedTrigger açık dosyaya özel bir arayüz görüntülemek için tetikleyici işlevini uygulayın. Daha fazla bilgi için REST API arayüzleri başlıklı makaleyi inceleyin.
  5. Bağlantı önizlemelerini bir üçüncü taraf hizmetinden 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 başlıklı makaleyi inceleyin.
  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.

Editör ana sayfaları

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

Ana sayfa tetikleyici işlevine, istemcinin platformu gibi bilgileri içeren bir parametre olarak etkinlik nesnesi iletilir. Ana sayfanın yapısını uyarlamak için etkinlik nesnesi verilerini kullanabilirsiniz.

Kullanıcıya, eklentinizi açtığı düzenleyiciye özel bir ana sayfa veya ortak bir ana sayfa sunabilirsiniz.

Ortak ana sayfayı görüntüleme

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

Aşağıdaki örnekte, Google Workspace eklentisi manifest dosyasının 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üzenleyiciye özel ana sayfa sunmak için EDITOR_NAME.homepageTrigger öğesini eklenti manifestine ekleyin.

Aşağıdaki örnekte, Google Workspace eklenti manifestosunun addons bölümü gösterilmektedir. Eklenti, Dokümanlar, E-Tablolar ve Slaytlar için etkinleştirilir. Dokümanlar ve Slaytlar'da ortak bir ana sayfa, E-Tablolar'da ise benzersiz bir ana sayfa gösterilir. 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 onFileScopeGrantedTrigger işlevini kullanarak Düzenleyici ana uygulamasında açık olan dosyaya özel yeni bir arayüz görüntüleyebilirsiniz.

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 Geçerli doküman için dosya erişimi iste başlıklı makaleyi inceleyin.

Kullanıcı drive.file kapsamı verdiğinde EDITOR_NAME.onFileScopeGrantedTrigger.runFunction tetiklenir. Tetikleyici etkinleştiğinde, eklenti manifestindeki EDITOR_NAME.onFileScopeGrantedTrigger.runFunction alanı tarafından belirtilen bağlamsal tetikleyici işlevi yürütülür.

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

  1. EDITOR_NAME.onFileScopeGrantedTrigger öğesini manifest dosyanızın uygun Editor's (Düzenleyici) 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 belirtilen işlevi uygulayın. Bu işlev, bağımsız değişken olarak bir etkinlik nesnesi kabul eder ve tek bir Card nesnesi veya Card nesneleri dizisi döndürmelidir.
  3. Diğer kartlarda olduğu gibi, arayüz için widget etkileşimi sağlamak üzere kullanılan geri çağırma işlevlerini uygulamanız gerekir. Örneğin, arayüze bir düğme eklediyseniz bu düğmeye bir Action eklenmeli ve düğme tıklandığında çalışan bir geri çağırma işlevi uygulanmalıdır.

Aşağıdaki örnekte, Google Workspace eklenti manifestosunun addons bölümü gösterilmektedir. Eklenti, REST API'lerini kullandığından onFileScopeGrantedTrigger, Google E-Tablolar için dahil edilir. Kullanıcı drive.file kapsamı için izin verdiğinde 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 hizmeti 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 Akıllı çipleri kullanarak bağlantıları önizleme başlıklı makaleyi inceleyin.

Etkinlik nesneleri

Bir etkinlik nesnesi oluşturulur ve EDITOR_NAME.homepageTrigger veya EDITOR_NAME.onFileScopeGrantedTrigger gibi tetikleyici işlevlere iletilir. 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çıklanmaktadır.

Bir düzenleyici, eklentinin etkin ana makine uygulaması olduğunda etkinlik nesneleri, istemci bilgilerini taşıyan Docs, Sheets veya Slides etkinlik nesnesi alanlarını içerir.

Eklentinin, mevcut kullanıcı veya doküman için drive.file kapsam yetkilendirmesi yoksa 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, bir sheets.onFileScopeGrantedTrigger işlevine iletilen bir Editor etkinlik nesnesi gösterilmektedir. Burada, eklenti geçerli doküman için drive.file kapsam yetkisine sahip:

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