Skip to main content

A high-level python interface to Google APIs

Project description

Google API

This 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 the Google 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 the Google Drive API Quickstart and click the Enable the Drive API button 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 utilize Drive API v3, Google Sheets API v4, Gmail API v1.

Installation

pip install googleAPI

Dependencies

  • google-api-python-client
  • google-auth-httplib2
  • google-auth-oauthlib

Documentation

Credential

Credential 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 module
from googleAPI.credential import *

# Step 2: Instance `GoogleCredential()` class
gc = 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 argument credential_scopes is required. For all the scopes you can choose, visit OAuth 2.0 Scopes for Google APIs.

GoogleDrive

Google 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 module
from googleAPI.drive import *

# 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')

GoogleSheet

Suppose we want to download a GoogleSheet named Google Sheet 1 as an Microsoft Excel file Google Sheet 1.xlsx.

# Step 1: import the module
from googleAPI.sheet import *

# Step 2: Instance `GoogleSheet` class with credential
gs = 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 Sheet
gs.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 sheet Sheet1.

values = gs.get_values(spreadsheet_id, range_="'Sheet1'")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

googleAPI-0.1.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

googleAPI-0.1.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file googleAPI-0.1.0.tar.gz.

File metadata

  • Download URL: googleAPI-0.1.0.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for googleAPI-0.1.0.tar.gz
Algorithm Hash digest
SHA256 93c6b195b15890f3bd1c88da3049247d47527c76196f38041fb99531977c87e5
MD5 2dc7994a4af6564be9dcdd206fdd36ef
BLAKE2b-256 d8f4b6fd50a5bae8bbe7aae9e0f8d488dc6ae5d70cd9c0ec4305b591d05db616

See more details on using hashes here.

File details

Details for the file googleAPI-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: googleAPI-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for googleAPI-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 483883b19c277a115cc22ce2fa31f349dbd7c8f26482de3e564be3d83937a9e3
MD5 2a4db6823e951844e1e9f1ad49f506aa
BLAKE2b-256 68abef1bb7e744c17295e1c8c590507e0ec1fe3d9c572a1c0deacee93a0b05dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page