Google Drive arayüzleri oluşturma

Google Workspace eklentileri, kullanıcı Google Drive'ı kullanırken özelleştirilmiş arayüzler sağlayabilir. Bu sayede kullanıcıya ek alakalı bilgiler sağlayabilir, görevleri otomatikleştirebilir ve üçüncü taraf sistemlerini Google Drive'a bağlayabilirsiniz.

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

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

  • Bir kullanıcı Google Drive'da eklenti simgesini tıkladığında eklenti, varsa ilgili drive.homepageTrigger işlevini yürütür. Bu işlev, Google Drive'da görüntülenmek üzere bir ana sayfa kartı oluşturup döndürür. drive.homepageTrigger işlevi tanımlanmamışsa bunun yerine genel bir ana sayfa kartı gösterilir.
  • Kullanıcı Google Drive'da bir veya daha fazla öğe seçip eklenti simgesini tıkladığında ya da eklenti açıkken öğeleri seçtiğinde eklenti, varsa ilgili drive.onItemsSelectedTrigger bağlamsal işlevini yürütür. Bu işlev, eklentinin Google Drive bağlamsal "seçili öğeler " arayüzünü oluşturur ve görüntülenmesi için Google Drive'a döndürür.

Eklenti Drive arayüzünü oluşturma

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

  1. Eklentinizin Drive'a özel bir ana sayfası olmasını isteyip istemediğinize karar verin. Ayrıca, kullanıcı Drive öğelerini seçtiğinde bağlamsal bir arayüz sağlamak isteyip istemediğinize de karar verin.
  2. Gerekli Drive kapsamları da dahil olmak üzere uygun addOns.common ve addOns.drive alanlarını eklenti komut dosyası projesinin manifest dosyasına 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. Ayrıca, birden fazla Google Workspace ana makinesi için common.homepageTrigger arayüzünü kullanmayı da seçebilirsiniz.
  4. Drive bağlamsal öğe seçimi arayüzü sağlıyorsanız bu arayüzü oluşturmak için drive.onItemsSelectedTrigger bağlamsal tetikleyici işlevini uygulamanız gerekir. Ayrıntılar için Seçilen öğeler için Drive bağlamsal arayüzü başlıklı makaleyi inceleyin.
  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 eklenti 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 addOns.drive alanının bulunduğundan emin olmanız yeterlidir.

Alternatif olarak, Drive'a özel bir ana sayfa sağlamak için eklenti manifestine 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 nesneler dizisi oluşturup döndürmek için bu işlevi uygulamanız gerekir. Ana sayfa tetikleyici işlevine, istemcinin platformu gibi bazı genel bilgileri içeren bir parametre olarak etkinlik nesnesi iletilir. Ana sayfanın oluşturulmasını özelleştirmek için etkinlik nesnesi verilerini kullanabilirsiniz.

Seçilen öğeler için Drive bağlamsal arayüzü

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

Drive için bağlamsal öğe seçimi arayüzü oluşturmak istiyorsanız şunları yapmanız gerekir:

  1. Eklentinin manifest dosyasında https://www.googleapis.com/auth/drive.addons.metadata.readonly scope

  2. Manifest dosyasının bir drive.onItemsSelectedTrigger bölümü içerdiğinden emin olun.

  3. drive.onItemsSelectedTrigger alanında belirtilen işlevi uygulayın. Bu işlev, bağımsız değişken olarak bir event object kabul eder ve tek bir Card nesnesi veya Card nesneleri dizisi döndürmelidir.

  4. Diğer kartlarda olduğu gibi, arayüz için widget etkileşimi sağlamak üzere kullanılan tüm 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.

Etkinlik nesneleri

Bir etkinlik nesnesi oluşturulur ve bu işlevler çağrıldığında drive.homepageTrigger veya drive.onItemsSelectedTrigger tetikleyici işlevine iletilir. Tetikleyici işlevi, eklenti kartlarının nasıl oluşturulacağını belirlemek veya eklenti davranışını başka bir şekilde kontrol etmek için bu etkinlik nesnesindeki bilgileri kullanabilir.

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

Öğe seçimi tetikleyicileri için bağlamsal Drive etkinlik nesneleri, tetikleyici tetiklendiğinde kullanıcının seçtiği öğelerle ilgili bilgileri içerir. Kullanıcı Drive'da birden fazla öğe seçtiğinde öğelerden biri birincil ilgi alanı olarak kabul edilir. Bu öğeye etkin imleç öğesi adı verilir.

Aşağıdaki örnekte, bir drive.onItemsSelectedTrigger işlevine iletilen bir 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"
          },
          ...
        ]
      },
      ...
    }