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

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 có 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 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 ứng dụng xuất hiện trong biểu tượng ở bên phải giao diện người dùng Drive. Đáp 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 khi đang ở trong Google Drive, tiện ích bổ sung sẽ thực thi drive.homepageTrigger tương ứng (nếu có). Hàm này tạo và trả về thẻ trang chủ vào Google Drive để hiển thị. Nếu không drive.homepageTrigger được xác định thì thẻ trang chủ chung sẽ được hiển thị thay 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 tiện ích bổ sung biểu tượng 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 lệnh drive.onItemsSelectedTrigger hàm theo ngữ cảnh (nếu có). Hàm này tạo Google Drive của tiện ích bổ sung "các mục đã chọn" theo ngữ cảnh giao diện rồi trả về Google Drive để hiển thị.

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

Bạn có thể xây dựng giao diện mở rộng Google Drive bằng cách làm theo các bước:

  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 cho trường hợp 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 phần 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 trên giao diện người dùng, chẳng hạn như lượt nhấp vào nút.

Trang chủ của Drive

Google Drive hỗ trợ hiển thị tiện ích bổ sung của Google Workspace trang chủ. Để 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 giá trị duy nhất Card hoặc một mả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 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 ngữ 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ó) để 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 rằng tệp kê khai của tiện ích bổ sung bao gồm https://www.googleapis.com/auth/drive.addons.metadata.readonly phạm vi

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

  3. Triển khai hàm được đặt tên trong drive.onItemsSelectedTrigger . Hàm này chấp nhận một đối tượng sự kiện làm đối số và phải trả về một giá trị duy nhất Card hoặc một mả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 Hành động đí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.

Toàn bộ cấu trúc của đối tượng sự kiện được mô tả trong Đối tượng sự kiện. Khi Drive là ứng dụng lưu trữ hoạt động của tiện ích bổ sung, đối tượng sự kiện theo ngữ cảnh bao gồm Đối tượng sự kiện Drive chứa thông tin ứng dụng khách 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 một người dùng chọn nhiều mục trong Drive, một trong các mục được coi là một trong lợi ích 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"
          },
          ...
        ]
      },
      ...
    }