Một ngày nọ, một đồng nghiệp của tôi đã hỏi liệu tôi có thiết lập sao lưu thường xuyên cho các tệp và thư mục quan trọng không. Mặc dù tôi đã sử dụng Dropbox và Google Drive trước đây, nhưng tôi thực sự muốn kiểm soát chi tiết hơn những gì tôi muốn sao lưu. Ngoài ra, tôi quan tâm đến việc sử dụng Python để sao lưu các tệp quan trọng
Giới thiệu PyDrive
g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
1 là thư viện trình bao bọc của google-api-python-client giúp đơn giản hóa nhiều tác vụ API Google Drive phổ biến. Mặc dù API Google Drive cung cấp cho bạn chức năng cần thiết để kết nối với các điểm cuối API của ổ đĩa và thực hiện các lệnh gọi cần thiết, nhưng tôi thấy rằng g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
1 giúp cuộc sống dễ dàng hơn nhiều, đặc biệt là đối với nhà phát triển Python, những người thích viết mã soạn sẵn ít hơn, đặc biệt là vì- Đơn giản hóa
g_login = GoogleAuth[]
3 thành chỉ một vài dòng với cài đặt linh hoạt
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login] - Gói API ổ đĩa thành các lớp của từng tài nguyên để làm cho chương trình của bạn hướng đối tượng hơn
- Nó hỗ trợ các hoạt động phổ biến ngoài lệnh gọi API, chẳng hạn như tìm nạp nội dung và kiểm soát phân trang
Nói đủ rồi, bắt đầu nào
xác thực
Trước khi bạn làm bất cứ điều gì khác, hãy truy cập bảng điều khiển dành cho nhà phát triển của Google và bạn sẽ thấy một phần có tiêu đề
g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
4. Nhấp vào một mục trong danh sách đó và bạn sẽ thấy một số trường, bao gồm g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
5Nếu bạn chưa tạo thông tin đăng nhập, hãy nhấp vào nút
g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
6 và làm theo hướng dẫn để tạo thông tin đăng nhập mới, sau đó làm theo các bước nêu trên để tìm g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
5. Tải xuống tệp — tệp phải được lưu trữ cục bộ dưới dạng drive_folder = self.drive.CreateFile[{1. Vui lòng không cam kết tập tin này
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]drive_folder.Upload[]
Bây giờ bạn đã có sẵn tệp bí mật ứng dụng khách trên đĩa, việc xác thực API ổ đĩa thật dễ dàng — bạn sẽ biết tại sao
g_login = GoogleAuth[]
g_login.LocalWebserverAuth[]
self.drive = GoogleDrive[g_login]
Điều này sẽ tự động mở một cửa sổ trong trình duyệt web của bạn, cửa sổ này sẽ yêu cầu bạn đăng nhập bằng tài khoản mà thông tin đăng nhập của bạn đã được tạo. Nhấp vào đúng tài khoản sẽ hoàn tất quy trình xác thực và mã của bạn hiện đã sẵn sàng để bắt đầu sử dụng API Google Drive
Tiếp theo, chúng ta sẽ xem xét việc tạo tệp và thư mục
Tạo một thư mục và tập tin
Thư mục là tệp chỉ chứa siêu dữ liệu và có thể dùng để sắp xếp tệp trong Google Drive. Đặc biệt
- một thư mục là một tệp có kiểu MIME
drive_folder = self.drive.CreateFile[{
2 và không có phần mở rộng
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]drive_folder.Upload[] - bạn có thể sử dụng bí danh
drive_folder = self.drive.CreateFile[{
3 để chỉ thư mục gốc ở bất kỳ nơi nào cung cấp ID tệp
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]drive_folder.Upload[]
drive_folder = self.drive.CreateFile[{
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]drive_folder.Upload[]
Một tệp sẽ được tạo theo cách tương tự
f = self.drive.CreateFile[{
'title': "{}".format[filename],
"parents": [{"id": gdrive_folder_id}]
}]
f.SetContentFile[filename.open[]]
f.Upload[]
Hãy nhớ rằng - một thư mục hoặc tệp trên Google drive sẽ không được tạo cho đến khi phương thức
drive_folder = self.drive.CreateFile[{4 trên đối tượng tệp được gọi
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]drive_folder.Upload[]
Các loại MIME
Loại phương tiện [còn được gọi là Phần mở rộng thư Internet đa năng hoặc loại MIME] là một tiêu chuẩn cho biết bản chất và định dạng của tài liệu, tệp hoặc loại byte. Nó được định nghĩa và tiêu chuẩn hóa trong IETF's RFC 6838
Khi bạn tạo tệp trên Google Drive, bạn cần cung cấp đúng loại mime của tệp — nếu không, nội dung sẽ không được tải lên chính xác
Hôm nay chúng ta sẽ xem cách tải tệp lên Google Drive bằng Python. Chúng tôi sẽ sử dụng API Google Drive để thực hiện việc này. Vì vậy, hãy truy cập Bảng điều khiển dành cho nhà phát triển của Google Và tạo một dự án mới. Quá trình này có thể mất từ 5 đến 10 giây, đôi khi là vài phút hoặc bạn chỉ cần nhấp vào bật từ tài liệu bắt đầu nhanh của google drive
Sau đó, bạn sẽ nhận được id khách hàng và bí mật khách hàng của mình. Tải xuống tệp JSON cấu hình ứng dụng khách
Bây giờ bạn cần cài đặt ứng dụng khách google API. Bạn có thể cài đặt thư viện trong bất kỳ trình chỉnh sửa nào bạn đang sử dụng. Ví dụ chúng ta sẽ dùng PyCharm nên sẽ cài đặt thư viện trong Pycharm Terminal, hoặc có thể cài trực tiếp trên Windows CMD, hoặc Linux Terminal
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Sau khi cài đặt thư viện. bắt đầu nhanh. py và dán đoạn mã sau. Nếu nó hiển thị lỗi, hãy sao chép URL từ bảng điều khiển và mở thủ công trong trình duyệt của bạn
Sau đó bấm cho phép, nếu bạn dùng nhiều Google Account thì nó sẽ yêu cầu bạn chọn tài khoản mà bạn đã tạo API
________số 8Sau khi làm theo từng bước, bạn sẽ nhận được màn hình sau
Và trong thiết bị đầu cuối, nó sẽ hiển thị cho bạn tất cả các tệp, bao gồm cả các tệp rác
Bây giờ API Google Drive của bạn đã được xác thực thành công
Tải tệp lên Google Drive bằng Python
Bây giờ có ba loại yêu cầu tải lên
Tải lên đơn giản để tải lên các tệp nhỏ [