Skip to main content

simple wrapper on Google API connections

Project description

Google API Connection Wrapper

General Connector Classes for Google Products

Links to their respective sections

STEPS

  1. Acquire Google Credentials from API Console
  2. Install this pacakge
  3. Create Connection in Python
  4. Use wrapper to make API calls

Acquire Google Credentials from API Console

First we will need to get our own Google Project set up so we can get our credentials. If you don't have experience, you can do so here Google API Console

After you have your project set up, oAuth configured, and the optional service account (only for Google Big Query connections), you are good to install this package.

Make sure to download your oAuth credentials and save them to your working directory as 'client_secret.json'.

Installation

pip install googlewrapper

Establishing your Connection

Use the Connection class found in connect.py to asisgn credentials.

'client_secret.json' should be in the working directory, if not, please declare the path while initializing the class. See the example below for both versions.

from googlewrapper.connect import Connection

#in working directory
google_connection = Connection()

#declare path in class
google_connection = Connection(file/path/to/client_secret.json)

Once we have our connection object, we wil need to declare the scope of our access. You can do this by accessing the following class methods:

Google Service Module Authentication Type Credential File
Analytics .ga() oAuth client_secret.json
Search Console .gsc() oAuth client_secret.json
Calendar .cal() oAuth client_secret.json
Big Query .gbq() Service Account gbq-sa.json
PageSpeed n/a API Key n/a
Gmail .gmail() oAuth client_secret.json
Sheets .gs() oAuth client_secret.json

Note, you can change the file path for authenticating Google Big Query by passing in the Service Account json in the gbq method

gbq_connection = Connection().gbq(file/path/to/service_account.json)

After authentication has taken place, a folder will be created in your cwd named credentials. The respective authentication scopes will be stored there so you don't have to authenticate everytime. Each token is stored with the Google property name as a .dat file.

One Line Connection

It is possible to just use one line when connecting. This can be done by calling the Connection class and immediately calling the scope that you want access to. See below.

from googlewrapper.connect import Connection

ga_auth = Connection().ga()

Product Specific Methods

Now that we have our credential object, we are ready to call the api. We will walk through examples for the different products

Google Analytics

Methods

Google Search Console

Methods

Google Calendar

Methods
.set_default(cal_id)
  • Assigns which calendar will be used to create and find events
.find_event(str)
.get_event(eventId:str)
.all_events(num_events,min_date)
  • Params
    • num_events
      • Is the number of events you'd like to return
      • defaults to 250
    • min_date
      • the starting point will only search forward in time from this date
      • defaults to the current date and time
  • Returns
.update_event(new_event,send_updates)
  • Params
    • new_event
      • event formated json to update
    • send_updates: str
      • if you want to send the updates
      • see Google's Docs for more info
      • defaults to 'all'
  • Returns the updated event object

Examples

from googlewrapper.connect import Connection
from googlewrapper.cal import GoogleCalendar

cal_auth = Connection().cal()

cal = GoogleCalendar(cal_auth)

my_event = cal.find_event('Team Meeting')

Google Big Query

Methods

Examples

Google PageSpeed Insights

Methods

Examples

Gmail

Methods

Examples

Google Sheets

Methods

Examples

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

googlewrapper-0.1.0.tar.gz (13.7 kB view hashes)

Uploaded Source

Built Distribution

googlewrapper-0.1.0-py3-none-any.whl (13.9 kB view hashes)

Uploaded Python 3

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