Package: googleAPI
Google APIThis is a python package that handles all the work with Google services, including Google Drive, Google Sheet, and Gmail. It is a high-level interface of theGoogle API. The downside of using the official Google API directly is that its documentation is written in Python 2.x, making it hard to follow.To use the google API, the first step is to get the 'credentials.json'. The most easiest way would be visiting theGoogle Drive API Quickstartand click theEnable the Drive APIbutton in the "Step 1: Turn on the Drive API" section. Then voliá, there you go! No need to deal with the project, service account, etc.This package utilizeDrive API v3,Google Sheets API v4,Gmail API v1.Installationpip install googleAPIDependenciesgoogle-api-python-clientgoogle-auth-httplib2google-auth-oauthlibDocumentationCredentialCredential is needed for every API. Thus,GoogleCredential()is the base class of all the other classes.Note: Unless you want to write customized functions, you could skip this section.Suppose we want to get Google Drive credential with all scopes to write customized functions.# Step 1: import the modulefromgoogleAPI.credentialimport*# Step 2: Instance `GoogleCredential()` classgc=GoogleCredential()# Step 3: Get credential# `credential_path` is the place where 'credentials.json' is stored.# There will be a prompt web page that will download the 'token.pickle'# into `credential_path`.creds=gc.credential(credential_path='',credential_scopes=['https://www.googleapis.com/auth/drive'])The argumentcredential_scopesis required. For all the scopes you can choose, visitOAuth 2.0 Scopes for Google APIs.GoogleDriveGoogle Drive is a cloud storage where you store the files and folder.GoogleDrive()enable you to search for file ID, get file metadata, download files, etc.Suppose we want to download a .csv file from the Google Drive.# Step 1: import the modulefromgoogleAPI.driveimport*# Step 2: Instance `GoogleDrive` class with credential# If this is the first time you use this package, `credential_path` is# the place where 'credentials.json' is stored. There will be a prompt# web page that will download the 'GoogleDrive_token.pickle' into `credential_path`.# If you already have 'GoogleDrive_token.pickle' file, `credential_path`# is the place where it is stored.# If you already have the credential in the run time, use `creds` argument.gd=GoogleDrive(credential_path='')# Step 3: Search the file ID in Google Drive# Use the file name to locate the file ID. File ID is the unique identifier# that Google API uses.# You can also find the file ID inside the link if you open the file in a# web page. The ID is the characters after `/d/{ID}`.file_id=gd.search_file('test.csv')# Step 4: Download the file# If you want to download the file into run time as a file pointer, leave the# `save_as` argument blank.# If you want to download it as a file, specify the `save_as` argument.gd.download_file(file_id['test.csv'][0],save_as='test.csv')GoogleSheetSuppose we want to download a GoogleSheet namedGoogle Sheet 1as an Microsoft Excel fileGoogle Sheet 1.xlsx.# Step 1: import the modulefromgoogleAPI.sheetimport*# Step 2: Instance `GoogleSheet` class with credentialgs=GoogleSheet(credential_path='')# Step 3: Find the Google Sheet ID using spreadsheet name# The result of the `GoogleSheet.search_spreadsheet()` is# saved in a list inside a dictionary in line with the# `GoogleDrive.search_files()`spreadsheet_id=gs.search_spreadsheet("Google Sheet 1")["Google Sheet 1"][0]# Step 4: Download the Google Sheetgs.download_spreadsheet(spreadsheet_id,save_as="Google Sheet 1.xlsx")Suppose we already have the spreadsheet ID and we just want to get the values
from a particular sheetSheet1.values=gs.get_values(spreadsheet_id,range_="'Sheet1'")