Google Drive arayüzleri oluşturma

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

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

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

  • Kullanıcı Google Drive'dayken eklenti simgesini tıklarsa eklenti, ilgili drive.homepageTrigger işlevini (varsa) yürütür. Bu işlev, görüntülenmesi için Google Drive'da bir ana sayfa kartı oluşturur ve döndürür. 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çip eklenti simgesini tıklarsa ya da eklenti açıkken öğe seçerse eklenti, ilgili drive.onItemsSelectedTrigger bağlam işlevini (varsa) yürütür. Bu işlev, eklentinin Google Drive'daki bağlamsal "seçilen öğ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 öğeleri seçtiğinde bağlamsal bir arayüz sunmak isteyip istemediğinize karar verin.
  2. Gerekli tüm Drive kapsamları da dahil olmak üzere, eklenti komut dosyası projesi manifest dosyasına 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. Birden fazla Google Workspace ana makinesi için common.homepageTrigger arayüzünü de kullanabilirsiniz.
  4. Drive bağlama dayalı öğe seçim arayüzü sağlıyorsanız bu arayüzü oluşturmak için bir drive.onItemsSelectedTrigger bağlama dayalı tetikleyici işlevi 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österilmesini destekler. Eklentinizin ortak ana sayfasını Google Drive'da göstermek için eklentinin manifest dosyasında bir addOns.drive alanı bulunduğundan emin olmanız yeterlidir.

Alternatif olarak, Drive'a özel bir ana sayfa sağlamak için eklenti manifest dosyasına 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 nesnesi dizisi oluşturmak ve 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 bir olay nesnesi iletilir. Ana sayfanın yapısını özelleştirmek için etkinlik nesnesi verilerini kullanabilirsiniz.

Seçilen öğeler için Drive bağlamsal 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 tetikleyici kullanır. Tetikleyici etkinleştirildiğinde, eklenti manifesti'ndeki drive.onItemsSelectedTrigger.runFunction alanında belirtilen bağlama dayalı tetikleyici işlevi yürütülür.

Drive için bağlama dayalı öğe seçim arayüzü oluşturmak istiyorsanız aşağıdakileri yapmanız gerekir:

  1. Eklentinin manifest dosyasında https://www.googleapis.com/auth/drive.addons.metadata.readonly scope değerinin bulunduğundan emin olun

  2. Manifest dosyasında bir drive.onItemsSelectedTrigger bölümünün bulunduğundan emin olun.

  3. drive.onItemsSelectedTrigger alanında 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 nesnesi dizisi döndürmelidir.

  4. Her kartta olduğu gibi, arayüzde widget etkileşimi sağlamak için kullanılan tüm geri çağırma işlevlerini uygulamanız gerekir. Örneğin, arayüze bir düğme eklerseniz düğmeye bağlı bir İşlem ve düğme tıklandığında çalışan bir geri çağırma işlevi olmalıdır.

Etkinlik nesneleri

Bu işlevler çağrıldığında bir etkinlik nesnesi oluşturulur ve 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 nesnesinde bulunan bilgileri kullanabilir.

Etkinlik nesnelerinin tam yapısı Etkinlik nesneleri bölümünde açıklanmıştır. Drive, eklentinin barındırıcı uygulaması olduğunda bağlama dayalı etkinlik nesneleri, Drive'a özgü istemci bilgilerini taşıyan Drive etkinlik nesnesi alanını içerir.

Öğe seçimi tetikleyicileri için bağlama dayalı Drive etkinlik nesneleri, tetikleyici etkinleştirildiğ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 denir.

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"
          },
          ...
        ]
      },
      ...
    }