Tải tệp lên google drive bằng python
Tôi điều hành một trang web địa phương dành cho sinh viên Algeria để tìm tài liệu của họ trực tuyến, một vấn đề lớn mà tôi gặp phải là rất nhiều tài liệu này đã có trên Google Drive và tôi cần một cách để tải xuống, tải lên lại, sắp xếp và chia sẻ chúng trên . Tôi cũng cần thêm từng liên kết của các tệp này vào cơ sở dữ liệu của mình, hơn 600 tài liệu Tôi là một người lười biếng, ghét làm những công việc lặp đi lặp lại, nhưng vâng, tất cả chúng ta đều ghét làm việc này, nó thật nhàm chán, thực sự khá nhàm chán. Hãy tưởng tượng nếu bạn phải tải hình ảnh có mẫu nhất định trong tên của chúng mỗi giờ lên Drive, hoặc Giới thiệu API Google DriveGoogle có một API tuyệt vời dành cho Drive, ban đầu có thể khá khó để hiểu cách thức hoạt động của nó, nhưng bạn không cần biết cách thức hoạt động, chúng tôi sẽ sử dụng trình bao bọc để giúp mọi việc dễ dàng hơn nhiều. PyDrive Trước khi bắt đầu sử dụng Google Drive API hoặc PyDrive, bạn cần tạo một dự án trong Google Developers Console, đây là nơi Google sẽ liên kết tài khoản của bạn với API, cung cấp cho bạn các khóa để xác thực và theo dõi tốc độ sử dụng của bạn Đăng ký bảng điều khiển dành cho nhà phát triển bằng tài khoản google của bạn, trên thanh công cụ, bạn sẽ tìm thấy dropbox để chọn dự án, hiện tại bạn không có dự án nào nên nó sẽ yêu cầu bạn tạo một dự án. Đặt tên cho nó, nếu bạn có một tổ chức như công ty hoặc trường đại học của bạn, hãy chọn nó. Đừng lo lắng nếu bạn không có, nó sẽ không thay đổi bất cứ điều gì đối với chúng tôi Bây giờ bạn sẽ được chuyển hướng đến bảng điều khiển dự án của mình, nếu có thông báo lỗi cho bạn biết rằng bạn không có bất kỳ dự án nào, chỉ cần chuyển đến thanh công cụ màu xanh lam, chọn dự án của bạn từ đó Trang tổng quan của bạn phải trống, bạn cần chọn API bạn muốn kích hoạt cho dự án của mình, chúng tôi chỉ cần API Google Drive, nhưng nếu lần sau bạn muốn chơi với Youtube, Maps, Gmail hoặc bất kỳ Ứng dụng Google nào khác, bạn có thể kích hoạt Để kích hoạt Drive API, hãy nhấn vào menu burger trên thanh công cụ và chọn ‘APIs and Services’, sau đó chọn Dashboard Chỉ cần nhập Drive vào thanh tìm kiếm và nhấp vào liên kết để truy cập trang của API, khi ở đó, hãy bật nó Khi bạn kích hoạt nó, bạn sẽ được đưa đến một màn hình mới Tại đây, bạn sẽ thấy số liệu thống kê về lệnh gọi API của mình, đã đến lúc tạo khóa ứng dụng và API của chúng tôi, chúng tôi sử dụng các khóa đó khi thực hiện lệnh gọi API để có thể liên kết lệnh gọi với tài khoản của chúng tôi, do đó kiểm soát ổ đĩa của chúng tôi từ mã của chúng tôi Chúng tôi chưa viết bất kỳ mã nào, vì chúng tôi cần tất cả thiết lập này trước khi bắt đầu, hãy kiên nhẫn với tôi bây giờ, bước tiếp theo sẽ là bước cuối cùng trước khi chúng tôi nhúng tay vào mã Nhận khóa APIĐiều này khá quan trọng đối với bất kỳ API Google nào bạn sẽ sử dụng, đối với mỗi API, bạn sẽ cần một số khóa, không chỉ dành cho Google API, ngay cả đối với Reddit, Twitter, Facebook và một số sản phẩm khác Để lấy các khóa này, hãy truy cập Thông tin xác thực (nằm trên thanh bên) và nhấn nút “Tạo thông tin đăng nhập”, bạn sẽ có một danh sách gồm 3 tùy chọn
Chúng tôi cần tài khoản thứ 2, ngay cả khi bạn chỉ muốn truy cập tài khoản drive của riêng mình, vì tài khoản đầu tiên cho phép bạn truy cập tài khoản drive ứng dụng khác với tài khoản của chính bạn Nhưng trước khi làm điều đó, chúng tôi cần đặt tên cho ứng dụng của mình, chuyển đến 'Màn hình chấp thuận OAuth' và đặt tên cho ứng dụng trong trường 'Tên sản phẩm' Bây giờ, hãy quay lại tab đầu tiên và tạo ID khách hàng, bạn sẽ phải chọn loại ứng dụng, chỉ cần chọn khác vì đây sẽ là tập lệnh cho mục đích sử dụng cá nhân của chúng tôi Bây giờ bạn sẽ được đưa trở lại tab thông tin xác thực, lần này bạn có ID ứng dụng khách và bí mật ứng dụng khách, cả hai điều này đều quan trọng để xác thực ứng dụng của chúng ta thông qua Python Ghi chú. Bạn có thể giao tiếp ID ứng dụng khách, nhưng bạn luôn cần giữ khóa bí mật của ứng dụng khách cho mình, vì vâng, bạn đã đoán ra rồi. điều đó là bí mật Như tôi đã hứa, phần thiết lập đã xong, đã đến lúc chuyển sang mã Mã Bé, MãTôi biết sẽ mất một chút thời gian để thiết lập bảng điều khiển của chúng tôi đúng cách, nhưng điều này là do tính phức tạp và quy mô lớn của Drive cũng như sức mạnh của API của nó Bây giờ chúng ta hãy bắt đầu viết mã, như tôi đã viết trước đó, chúng ta sẽ không sử dụng API trực tiếp vì điều này sẽ tốn rất nhiều thời gian và công sức, thay vào đó chúng ta sẽ sử dụng một trình bao bọc đẹp mắt trong python. PyDrive Phần thưởng biệt ngữ. Trình bao bọc chỉ có nghĩa là một thư viện có một bộ chức năng nâng cao để xử lý các lệnh gọi API và giúp sử dụng dễ dàng hơn thông qua một ngôn ngữ nhất định Cài đặt PyDriveĐể cài đặt PyDrive, chúng tôi sẽ sử dụng trình quản lý gói python. pip, để cài đặt bất kỳ gói python nào thông qua pip, chỉ cần nhập thông tin sau vào thiết bị đầu cuối của bạn. Bây giờ bạn đã cài đặt phiên bản ổn định mới nhất của PyDrive, nó cũng sẽ cài đặt mô-đun máy khách google api cho python Kết nối với Google Drive bằng PyDriveBước đầu tiên trước khi sử dụng tài khoản ổ đĩa thông qua chương trình của bạn là đăng nhập vào tài khoản đó, PyDrive đã làm điều này cực kỳ dễ dàng from pydrive.auth import GoogleAuth 2 dòng đầu tiên nhập lớp GoogleAuth từ PyDrive. Mô-đun xác thực và lớp GoogleDrive từ pydrive. ổ đĩa, chúng tôi tạo một đối tượng để xử lý xác thực. Điều kỳ diệu xảy ra ở dòng thứ 5 with open("path_to_your_file","r") as file: 0 sẽ kích hoạt trình duyệt của bạn và điều hướng đến trang đăng nhập google, chọn tài khoản bạn muốn truy cập trong chương trình của mình, cấp quyền cho ứng dụng và bạn sẽ được chuyển đến một trang nói rằngDòng cuối cùng tạo đối tượng Google Drive để xử lý việc tạo file và upload lên drive, chúng ta cần truyền đối tượng with open("path_to_your_file","r") as file: 1 cho constructor để kiểm tra xác thực có thành công khôngBây giờ bạn đã được xác thực thành công, đã đến lúc bắt đầu chơi với API Tải tệp lên tài khoản DriveĐã đến lúc tải các tệp của chúng tôi lên tài khoản drive của chúng tôi, để làm như vậy, chúng tôi cần tạo một tệp Google drive, điền vào đó nội dung tệp của chúng tôi rồi tải nó lên Bạn không thể tải tệp trực tiếp lên, trước tiên bạn cần lấy tệp bạn muốn tải lên từ máy tính của mình bằng Python, để làm như vậy, chúng tôi sẽ sử dụng các tính năng IO tệp tuyệt vời của Python, để mở tệp, chúng tôi sẽ sử dụng hàm with open("path_to_your_file","r") as file: 2, gọi nó như thế nàywith open("path_to_your_file","r") as file: Điều này sẽ mở một tệp ở chế độ chỉ đọc (đó là chữ “r” trong tham số thứ 2) và gọi nó là with open("path_to_your_file","r") as file: 0Hãy đọc nội dung của nó, tạo một tệp ổ đĩa mới và cuối cùng tải nó lên file_drive = drive.CreateFile({'title':os.path.basename(file.name) }) Đảm bảo đặt cái này bên trong khối with Hãy xem mỗi dòng này làm gì 1- Chúng tôi đang gọi hàm CreateFile trên đối tượng ổ đĩa, điều này tạo ra một tệp hoặc thực thể google drive, tệp google drive (GDF) khá khác so với các tệp thông thường khác, đó là vì nó cũng có thể là một thư mục, GDF là một google . một thư mục, một tài liệu, một hình ảnh, một video… Lưu ý biểu thức này with open("path_to_your_file","r") as file: 1 điều này cung cấp tên tệp của tệp của chúng tôi mà không có đường dẫn của nó, chúng tôi có thể đã sử dụng with open("path_to_your_file","r") as file: 2 nhưng điều này sẽ bao gồm cả đường dẫnfile = open('path/to/file.txt') Vì vậy, quay lại chủ đề của chúng ta, chúng ta đã tải thành công một tệp lên tài khoản drive của bạn, bạn có thể thỏa sức sáng tạo chỉ với điều này Ví dụ: đây là mã nhận tất cả các tệp PDF trong thư mục con có số trong tên tệp của chúng from pydrive.auth import GoogleAuth Bài viết đến đây thôi các bạn, hi vọng nó hữu ích, mình sẽ viết một bài khác về cách quản lý quyền, đổi tên file và xử lý thư mục trong drive với Python Nếu bạn thấy bài đăng này hữu ích, hãy ủng hộ nó, hãy theo dõi tôi để nhận thêm các hướng dẫn tự động hóa python chuyên sâu hơn để trở thành một trình hướng dẫn tự động hóa |