Xây dựng giao diện Google Drive

Các tiện ích bổ sung của Google Workspace có thể cung cấp giao diện tuỳ chỉnh khi người dùng đang sử dụng Google Drive. Điều này cho phép bạn cung cấp cho người dùng thêm thông tin liên quan, tự động hoá các tác vụ và kết nối các hệ thống của bên thứ ba với Google Drive.

Truy cập vào giao diện người dùng của tiện ích bổ sung

Bạn có thể mở một tiện ích bổ sung của Google Workspace trong Google Drive nếu biểu tượng của tiện ích đó xuất hiện trong cột biểu tượng ở bên phải giao diện người dùng của Drive. Tiện ích bổ sung của Google Workspace có thể xác định giao diện trang chủ, giao diện chọn mục hoặc cả hai:

  • Nếu người dùng nhấp vào biểu tượng tiện ích bổ sung trong Google Drive, thì tiện ích bổ sung sẽ thực thi hàm drive.homepageTrigger tương ứng (nếu có). Hàm này tạo và trả về một thẻ trang chủ cho Google Drive để hiển thị. Nếu không xác định hàm drive.homepageTrigger, thì thẻ trang chủ chung sẽ hiển thị.
  • Nếu người dùng chọn một hoặc nhiều mục trong Google Drive, sau đó nhấp vào biểu tượng tiện ích bổ sung hoặc chọn các mục trong khi tiện ích bổ sung đang mở, thì tiện ích bổ sung sẽ thực thi hàm theo ngữ cảnh drive.onItemsSelectedTrigger tương ứng (nếu có). Hàm này tạo giao diện "items selected" ("mục đã chọn") theo ngữ cảnh của Google Drive cho tiện ích bổ sung và trả về giao diện đó cho Google Drive để hiển thị.

Tạo giao diện tiện ích bổ sung cho Drive

Bạn có thể tạo các giao diện mở rộng Google Drive bằng cách làm theo các bước chung sau:

  1. Quyết định xem bạn có muốn tiện ích bổ sung của mình có một trang chủ dành riêng cho Drive hay không. Ngoài ra, hãy quyết định xem bạn có muốn cung cấp giao diện theo ngữ cảnh khi người dùng chọn các mục trên Drive hay không.
  2. Thêm các trường addOns.commonaddOns.drive thích hợp vào tệp kê khai của dự án tập lệnh bổ trợ, bao gồm mọi phạm vi Drive bắt buộc.
  3. Nếu bạn đang cung cấp trang chủ dành riêng cho Drive, hãy triển khai hàm drive.homepageTrigger để tạo giao diện này. Bạn cũng có thể chọn sử dụng giao diện common.homepageTrigger cho nhiều máy chủ lưu trữ Google Workspace.
  4. Nếu đang cung cấp giao diện lựa chọn mục theo ngữ cảnh trên Drive, bạn phải triển khai hàm kích hoạt theo ngữ cảnh drive.onItemsSelectedTrigger để tạo giao diện này. Hãy xem giao diện theo ngữ cảnh của Drive cho các mục đã chọn để biết thông tin chi tiết.
  5. Triển khai các hàm gọi lại liên kết cần thiết để phản hồi các hoạt động tương tác của người dùng với giao diện người dùng, chẳng hạn như lượt nhấp vào nút.

Trang chủ trên Drive

Google Drive hỗ trợ hiển thị trang chủ của tiện ích bổ sung Google Workspace. Để hiển thị trang chủ chung của tiện ích bổ sung trong Google Drive, bạn chỉ cần đảm bảo có trường addOns.drive trong tệp kê khai của tiện ích bổ sung.

Ngoài ra, hãy thêm drive.homepageTrigger vào tệp kê khai tiện ích bổ sung để cung cấp trang chủ dành riêng cho Drive.

Trong cả hai trường hợp, bạn phải cung cấp tên của hàm kích hoạt trang chủ trong dự án tập lệnh của tiện ích bổ sung. Hàm này được tự động gọi để tạo trang chủ của Drive khi cần. Bạn phải triển khai hàm này để tạo và trả về một Card hoặc một mảng các đối tượng Card tạo nên trang chủ. Hàm kích hoạt trang chủ được truyền một đối tượng sự kiện dưới dạng tham số chứa một số thông tin chung, chẳng hạn như nền tảng của ứng dụng. Bạn có thể sử dụng dữ liệu đối tượng sự kiện để điều chỉnh việc tạo trang chủ.

Giao diện theo bối cảnh của Drive cho các mục đã chọn

Google Drive dựa vào trình kích hoạt theo ngữ cảnh để xác định giao diện (nếu có) sẽ hiển thị khi người dùng chọn một hoặc nhiều mục trên Google Drive. Khi kích hoạt, trình kích hoạt sẽ thực thi hàm kích hoạt theo bối cảnh do trường drive.onItemsSelectedTrigger.runFunction chỉ định trong tệp kê khai của tiện ích bổ sung.

Để tạo giao diện lựa chọn mục theo bối cảnh cho Drive, bạn phải làm như sau:

  1. Đảm bảo tệp kê khai của tiện ích bổ sung có phạm vi https://www.googleapis.com/auth/drive.addons.metadata.readonly

  2. Đảm bảo tệp kê khai có phần drive.onItemsSelectedTrigger.

  3. Triển khai hàm có tên trong trường drive.onItemsSelectedTrigger. Hàm này chấp nhận đối tượng sự kiện làm đối số và phải trả về một đối tượng Card hoặc một mảng đối tượng Card.

  4. Giống như mọi thẻ khác, bạn phải triển khai mọi hàm gọi lại dùng để cung cấp tính tương tác của tiện ích cho giao diện. Ví dụ: nếu bạn thêm một nút vào giao diện, thì nút đó phải có một Thao tác đính kèm và một hàm gọi lại đã triển khai chạy khi người dùng nhấp vào nút đó.

Đối tượng sự kiện

Đối tượng sự kiện được tạo và truyền vào hàm kích hoạt drive.homepageTrigger hoặc drive.onItemsSelectedTrigger khi các hàm đó được gọi. Hàm kích hoạt có thể sử dụng thông tin trong đối tượng sự kiện này để xác định cách tạo thẻ bổ sung hoặc kiểm soát hành vi của thẻ bổ sung.

Cấu trúc đầy đủ của đối tượng sự kiện được mô tả trong phần Đối tượng sự kiện. Khi Drive là ứng dụng lưu trữ thực tế của tiện ích bổ sung, các đối tượng sự kiện theo bối cảnh sẽ bao gồm trường đối tượng sự kiện trên Drive chứa thông tin về ứng dụng dành riêng cho Drive.

Đối tượng sự kiện Drive theo ngữ cảnh cho điều kiện kích hoạt lựa chọn mục bao gồm thông tin về các mục mà người dùng đã chọn khi điều kiện kích hoạt kích hoạt. Khi người dùng chọn nhiều mục trong Drive, một trong các mục đó được coi là mục quan tâm chính; mục này được gọi là mục con trỏ đang hoạt động.

Ví dụ sau đây cho thấy một đối tượng sự kiện Drive được truyền đến hàm drive.onItemsSelectedTrigger:

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