Google Drive client
Google Drive client.
pip install drive
The API exposes a client as
drive.client.Client that manipulates instances of
File represent a Google Drive file. Note that both
regular files and directories are represented as
Files, and a file can have
multiple parent directories. You can check if a
File is a directory using the
Note: "Folder" is just a synonym for "Directory".
By default, the client reads your service account key JSON file at the location
given by the environment variable
GOOGLE_APPLICATION_CREDENTIALS. You can
override this behavior by passing it directly:
client = Client("/path/to/your/service-account-key.json")
See Google’s documentation on how to create a service account key.
upload_file(parent, path[, name]): Upload a file
upload_excel_workbook(parent, name, workbook): Upload an
openpyxlworkbook in a Google spreadsheet under
parentwith the name
The client also exposes low-level methods that work on file ids.
str, attribute): Human-readable file type
bool): Remove the file. If it's a directory, all its children are removed as well
rename(new_name): Rename the file
move_in(new_parent[, new_name]): Move a file under another directory. It can also rename the file at the same time.
list(): List a directory’s content
create_folder(name): Create a folder under the current one
get_or_create_folder(name): Retrieve a child folder or create it if it doesn’t exist
get_child(name): Return a file under the current directory.
parents(): Return a file's parents
parent(): Return the first parent of a file
download_file(path[, mime_type]): Download the file at a given location
download_workbook(): Download the file as an
json(): Parse the file as JSON
jsons(): Parse the file as JSONS (one JSON per line) and returns a generator
Methods that operate on directories (e.g.
list()) generally have no effect if
File instance is a regular file.
from drive.client import Client # Uses credentials from the path in the environment variable # GOOGLE_APPLICATION_CREDENTIALS. cl = Client() # Get the root directory d = cl.root() print(d.is_directory) # True print(d.name) # e.g. "My Drive" # Get a directory's content for f in d.list(): print(f.name) # Get a shared directory d = cl.get_shared_directory("My Shared Dir")
cl = Client() # Download f = cl.get_file_by_name("my_sheet") workbook = f.download_workbook() # openpyxl workbook # save your download: workbook.save("myfile.xlsx") # Upload workbook = Workbook() d = cl.get_shared_directory("My Shared Directory") cl.upload_excel_workbook(d, "my_other_sheet", workbook)
cl = Client() # download a Drawing in a png image cl.download_file("11AASomeFileId", "localfile.png", "image/png")
Copyright © 2016-2021 Oscaro.com
Distributed under the MIT License.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.