Tích hợp với nút "Mới" của giao diện người dùng Drive

Khi người dùng nhấp vào nút "Mới" trên giao diện người dùng Drive rồi chọn một ứng dụng trong giao diện người dùng Drive, Drive sẽ chuyển hướng người dùng đến URL mới của ứng dụng đó được xác định trong phần Định cấu hình tích hợp giao diện người dùng Drive.

Sau đó, ứng dụng của bạn sẽ nhận được một tập hợp các biến mẫu mặc định trong tham số state. Thông tin state mặc định cho URL mới là:

{
  "action":"create",
  "folderId":"FOLDER_ID",
  "folderResourceKey":"FOLDER_RESOURCE_KEY",
  "userId":"USER_ID"
}

Kết quả này bao gồm các giá trị sau:

  • create: Thao tác đang được thực hiện. Giá trị là create khi người dùng nhấp vào nút "Mới" của giao diện người dùng Drive.
  • FOLDER_ID: Mã nhận dạng của thư mục mẹ.
  • FOLDER_RESOURCE_KEY: Khoá tài nguyên của thư mục mẹ.
  • USER_ID: Mã hồ sơ giúp xác định duy nhất người dùng.

Ứng dụng của bạn phải thực hiện yêu cầu này bằng cách làm theo các bước sau:

  1. Xác minh rằng trường action có giá trị create.
  2. Sử dụng giá trị userId để tạo một phiên mới cho người dùng. Để biết thêm thông tin về người dùng đã đăng nhập, hãy xem bài viết Người dùng và sự kiện mới.
  3. Sử dụng phương thức files.create để tạo tài nguyên tệp. Nếu bạn đặt folderId cho yêu cầu, hãy đặt trường parents thành giá trị folderId.
  4. Nếu bạn đặt folderResourceKey cho yêu cầu, hãy đặt tiêu đề của yêu cầu X-Goog-Drive-Resource-Keys. Để biết thêm thông tin về khoá tài nguyên, hãy xem phần Truy cập vào tệp được chia sẻ qua đường liên kết bằng khoá tài nguyên.

Tham số state được mã hoá URL, vì vậy, ứng dụng của bạn phải xử lý các ký tự thoát và phân tích cú pháp dưới dạng JSON.

Người dùng và sự kiện mới

Ứng dụng Drive nên coi tất cả sự kiện "tạo" là các lượt đăng nhập tiềm năng. Một số người dùng có thể có nhiều tài khoản, vì vậy, mã nhận dạng người dùng trong tham số state có thể không khớp với phiên hiện tại. Nếu mã nhận dạng người dùng trong thông số state không khớp với phiên hiện tại, hãy kết thúc phiên hiện tại cho ứng dụng và đăng nhập dưới dạng người dùng được yêu cầu.