Hướng dẫn này trình bày các phương pháp hay nhất để tạo một công cụ tuỳ chỉnh nhằm nhập hàng loạt các tệp được mã hoá phía máy khách (CSE) bằng API Drive.
Hãy cân nhắc sử dụng ứng dụng Drive cho máy tính để tự di chuyển
Người dùng có thể nhập tệp từ máy cục bộ bằng ứng dụng Drive cho máy tính. Ứng dụng này hỗ trợ đầy đủ tính năng mã hoá phía máy khách và cho phép người dùng tự mã hoá và tải tệp lên. Bạn chỉ cần tạo một công cụ tuỳ chỉnh như mô tả trong hướng dẫn này cho các hoạt động nhập hàng loạt quy mô lớn, không cần giám sát hoặc nhiều người dùng.
Trước khi bắt đầu
Bạn phải hiểu cách quản lý một tệp được mã hoá phía máy khách. Xem phần Quản lý từng tệp CSE để tìm hiểu các bước cơ bản để mã hoá, tải lên/tải xuống và giải mã, bao gồm cả việc tạo mã thông báo và tương tác với Dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS).
Xác thực bằng tài khoản dịch vụ
Sử dụng tài khoản dịch vụ có uỷ quyền trên toàn miền khi tương tác với Drive API. Điều này cho phép ứng dụng của bạn mạo danh người dùng, nhờ đó bạn có thể lập trình để lặp lại các thao tác và tải tệp lên trực tiếp thay cho họ.
Tạo lại cấu trúc thư mục
Thiết kế công cụ nhập để duyệt qua các tệp và thư mục nguồn một cách đệ quy nhằm phản ánh cấu trúc thư mục hiện có trên Drive. Quy trình cấp cao như sau:
- Đối với mỗi thư mục nguồn, hãy tạo một thư mục Drive tương ứng.
- Mã hoá và tải lên các tệp trong thư mục vào thư mục Drive đã tạo.
- Lặp lại quy trình này cho các thư mục con.
Tải tệp lên đúng vị trí
Luôn tải tệp lên Drive của tôi của đúng người dùng hoặc một Bộ nhớ dùng chung mà bạn có quyền truy cập. Để tìm mã bộ nhớ dùng chung hoặc mã thư mục, hãy tìm mã đó một cách tĩnh từ URL web của Drive hoặc một cách động bằng cách sử dụng các phương thức drives.list và files.list.
Ngăn chặn nội dung trùng lặp
Drive cho phép nhiều tệp trong cùng một thư mục có cùng tên tệp. Tạo mã nhận dạng cho tệp trước khi tải lên. Bạn có thể sử dụng phương thức API Drive files.generateIds để thực hiện việc này.
Bằng cách lưu trữ các mã nhận dạng được tạo trước này, trình nhập của bạn có thể cố gắng tải từng tệp lên mã nhận dạng cụ thể của tệp đó. Nếu đã có một tệp có mã nhận dạng đó, thì công cụ của bạn có thể bỏ qua tệp đó một cách an toàn. Việc sử dụng các mã nhận dạng được tạo trước sẽ giúp công cụ của bạn khôi phục sau sự cố.
Yêu cầu mã thông báo CSE trước mỗi lần tải lên
Gọi generateCseToken cho từng tệp ngay trước khi gói khoá và tải tệp lên. Phương pháp này đảm bảo mã thông báo phản ánh chính xác trạng thái hiện tại của siêu dữ liệu được liên kết (có thể thay đổi).
Sử dụng tính năng tải lên tiếp nối cho các tệp lớn
Sử dụng tính năng tải lên có thể tiếp tục của API Drive để di chuyển các tệp lớn. Tính năng tải lên có thể tiếp tục cho phép trình nhập của bạn thử lại các khối không thành công trong quá trình gián đoạn mạng, thay vì khởi động lại toàn bộ quá trình tải tệp lên.
Khôi phục quyền chia sẻ
Nếu công cụ nhập hàng loạt của bạn cần giữ nguyên quyền chia sẻ, trước tiên, hãy mã hoá và tải tệp lên, sau đó gọi phương thức permissions.create.
Quyền chia sẻ không được áp dụng trong quá trình tải tệp lên.
Xử lý thời hạn của mã thông báo
Đối với các thao tác diễn ra trong thời gian dài, tập lệnh của bạn có thể gặp lỗi xác thực do mã thông báo hết hạn. Triển khai logic để tự động làm mới mã truy cập và thử lại việc tải lên. Để biết thêm thông tin chi tiết, hãy xem ví dụ mã nguồn mở minh hoạ cách mã hoá và tải một tệp lên.
Xác thực kỹ lưỡng các tệp đã nhập
Thực hiện quy trình xác thực kỹ lưỡng sau khi nhập hàng loạt. Google không thể giải mã và xác thực tệp của bạn ở phía máy chủ. Mục Xác thực các tệp đã nhập trình bày chi tiết một số phương pháp kiểm tra ngẫu nhiên các tệp riêng lẻ.
Một phương thức bổ sung để xác minh trên quy mô lớn (đặc biệt hữu ích sau khi nhập hàng loạt) là sử dụng công cụ giải mã chính thức. Trước tiên, hãy tải nội dung đã mã hoá xuống từ Drive bằng Google Takeout. Sau đó, hãy thử giải mã bằng công cụ giải mã. Quy trình này giúp xác định mọi tệp không thể giải mã, cho thấy các vấn đề tiềm ẩn trong logic mã hoá hoặc bao bọc khoá của công cụ nhập.
Tìm hiểu về hạn mức và hạn ngạch
Các tệp được mã hoá phía máy khách phải tuân theo hạn mức và giới hạn tiêu chuẩn của Drive. Lưu ý về giới hạn của bộ nhớ dùng chung, giới hạn chung về tệp và thư mục, cũng như cách quản lý hạn mức. Ngoài ra, công cụ nhập của bạn phải xử lý hạn mức từ Dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS) và Nhà cung cấp dịch vụ danh tính (IdP).