Google Drive arayüzleri oluşturma

Google Workspace Eklentileri, kullanıcı Google Drive'ı kullanırken özelleştirilmiş arayüzler sağlayabilir. Bu, kullanıcıya alakalı ek bilgiler sağlamanıza, görevleri otomatikleştirmenize ve Google Drive'a üçüncü taraf sistemleri bağlamanıza olanak tanır.

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

Bir Google Workspace Eklentisi'ni, Drive kullanıcı arayüzünün sağ tarafındaki simge sütununda simgesi görünüyorsa Google Drive'da açabilirsiniz. Bir Google Workspace eklentisi; bir ana sayfa arayüzünü, bir öğe seçme arayüzünü veya her ikisini birden tanımlayabilir:

  • Bir kullanıcı Google Drive'da eklenti simgesini tıklarsa eklenti, ilgili drive.homepageTrigger işlevini (varsa) yürütür. Bu işlev, bir ana sayfa kartı oluşturur ve görüntülenmek üzere Google Drive'a gönderir. Herhangi bir drive.homepageTrigger işlevi tanımlanmazsa bunun yerine genel bir ana sayfa kartı gösterilir.
  • Kullanıcı, Google Drive'da bir veya daha fazla öğe seçer ve ardından eklenti simgesini tıklar ya da eklenti açıkken öğeleri seçerse eklenti, ilgili drive.onItemsSelectedTrigger içerik işlevini (varsa) yürütür. Bu işlev, eklentinin Google Drive'ın bağlamsal "seçilen öğeler" arayüzünü oluşturur ve görüntülenmek üzere Google Drive'a döndürür.

Eklenti Drive arayüzünü oluşturma

Aşağıdaki genel adımları izleyerek Google Drive'ı genişleten arayüzler oluşturabilirsiniz:

  1. Eklentinizin Drive'a özel bir ana sayfaya sahip olmasını isteyip istemediğinize karar verin. Ayrıca, kullanıcı Drive öğelerini seçtiğinde içeriğe dayalı bir arayüz sağlamak isteyip istemediğinize karar verin.
  2. Gerekli Drive kapsamları da dahil olmak üzere, eklenti komut dosyası projesi manifest'e uygun addOns.common ve addOns.drive alanlarını ekleyin.
  3. Drive'a özel bir ana sayfa sağlıyorsanız bu arayüzü oluşturmak için drive.homepageTrigger işlevini uygulayın. common.homepageTrigger arayüzünü birden fazla Google Workspace ana makinesi için de kullanabilirsiniz.
  4. Drive içeriğe dayalı öğe seçimi arayüzü sağlıyorsanız bu arayüzü oluşturmak için drive.onItemsSelectedTrigger içeriğe dayalı tetikleyici işlevi uygulamanız gerekir. Ayrıntılar için Seçilen öğeler için Drive içerik arayüzü bölümüne bakın.
  5. 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.

Drive ana sayfaları

Google Drive, Google Workspace eklentisi ana sayfalarının görüntülenmesini destekler. Eklentinizin ortak ana sayfasını Google Drive'da göstermek için eklentinin manifest dosyasında bir addOns.drive alanı bulunduğundan emin olun.

Alternatif olarak, Drive'a özel bir ana sayfa sağlamak için eklenti manifest dosyasına bir drive.homepageTrigger ekleyin.

Her iki durumda da eklentinizin komut dosyası projesinde bir ana sayfa tetikleyici işlevinin adını sağlamanız gerekir. Bu işlev, gerektiğinde Drive ana sayfasını oluşturmak için otomatik olarak çağrılır. Ana sayfayı oluşturan tek bir Card veya Card nesne dizisi oluşturup döndürmek için bu işlevi uygulamanız gerekir. Ana sayfa tetikleyici işlevi, istemcinin platformu gibi bazı genel bilgileri içeren bir parametre olarak bir etkinlik nesnesine aktarılır. Etkinlik nesnesi verilerini, ana sayfanın yapısını özelleştirmek için kullanabilirsiniz.

Seçili öğeler için Drive içerik arayüzü

Google Drive, kullanıcı bir veya daha fazla Google Drive öğesi seçtiğinde hangi arayüzün (varsa) gösterileceğini belirlemek için bağlamsal bir tetikleyiciden yararlanır. Tetikleyici etkinleştiğinde, eklenti manifestindeki drive.onItemsSelectedTrigger.runFunction alanında belirtilen bağlamsal tetikleyici işlevini yürütür.

Drive için içeriğe dayalı öğe seçimi arayüzü oluşturmak için aşağıdakileri yapmanız gerekir:

  1. Eklenti manifestinin https://www.googleapis.com/auth/drive.addons.metadata.readonly kapsamı içerdiğinden emin olun.

  2. Manifest'in bir drive.onItemsSelectedTrigger bölümü içerdiğinden emin olun.

  3. drive.onItemsSelectedTrigger alanında adlandırılmış 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.

  4. Tüm kartlarda olduğu gibi, arayüz için widget etkileşimi sağlamak amacıyla kullanılan tüm geri çağırma işlevlerini uygulamanız gerekir. Örneğin, arayüze bir düğme eklerseniz bu düğmenin ekli bir İşlemi ve düğme tıklandığında çalışan uygulanmış bir geri çağırma işlevi olmalıdır.

Etkinlik nesneleri

Bir etkinlik nesnesi oluşturulur ve bu işlevler çağrıldığında drive.homepageTrigger veya drive.onItemsSelectedTrigger tetikleyici işlevine 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 bu etkinlik nesnesindeki bilgileri kullanabilir.

Etkinlik nesnelerinin tam yapısı Etkinlik nesneleri bölümünde açıklanmıştır. Drive, eklentinin ana makine uygulaması olduğunda bağlamsal etkinlik nesneleri Drive'a özel istemci bilgilerini içeren Drive etkinlik nesnesi alanını içerir.

Öğe seçimi tetikleyicilerine yönelik bağlamsal Drive etkinlik nesneleri, tetikleyici etkinleştiğinde kullanıcının seçtiği öğeler hakkında bilgiler içerir. Bir kullanıcı Drive'da birden fazla öğe seçtiğinde, öğelerden biri birincil ilgi alanı olarak kabul edilir. Bu öğe, etkin imleç öğesi olarak adlandırılır.

Aşağıdaki örnekte bir drive.onItemsSelectedTrigger işlevine iletilen Drive etkinlik nesnesi gösterilmektedir:

    {
      "commonEventObject": { ... },
      "drive": {
        "activeCursorItem":{
          "addonHasFileScopePermission": true,
          "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
          "iconUrl": "https://drive-thirdparty.googleusercontent.com...",
          "mimeType":"application/pdf",
          "title":"How to get started with Drive"
        },
        "selectedItems": [
          {
            "addonHasFileScopePermission": true,
            "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
            "iconUrl":"https://drive-thirdparty.googleusercontent.com...",
            "mimeType":"application/pdf",
            "title":"How to get started with Drive"
          },
          ...
        ]
      },
      ...
    }