Làm cách nào để tải tệp từ google drive lên python?

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[]
    g_login.LocalWebserverAuth[]
    self.drive = GoogleDrive[g_login]
    3 thành chỉ một vài dòng với cài đặt linh hoạt
  • 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]
5

Nế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[{
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]
drive_folder.Upload[]
1. Vui lòng không cam kết tập tin này

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[{
    'title': dir_name,
    "mimeType": "application/vnd.google-apps.folder"
    }]
    drive_folder.Upload[]
    2 và không có phần mở rộng
  • bạn có thể sử dụng bí danh
    drive_folder = self.drive.CreateFile[{
    'title': dir_name,
    "mimeType": "application/vnd.google-apps.folder"
    }]
    drive_folder.Upload[]
    3 để chỉ thư mục gốc ở bất kỳ nơi nào cung cấp ID tệp
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[{
'title': dir_name,
"mimeType": "application/vnd.google-apps.folder"
}]
drive_folder.Upload[]
4 trên đối tượng tệp được gọi

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ố 8

Sau 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ỏ [

Chủ Đề