Skip to main content

A library to help integrate Google OAuth 2.0 to your Django application.

Project description

Google APIs OAuth Django

PyPI version Downloads

A library to help integrate Google OAuth 2.0 to your Django application. This library retrieves the necessary tokens you need to access the Google APIs your application is configured for.

Installation

pip install google-apis-oauth-django

Usage

Redirecting users to the login screen

from django.shortcuts import HttpResponseRedirect
import google_apis_oauth

def RedirectToOAuthPage(request):
    oauth_url = google_apis_oauth.get_authorization_url(
        # Path of the "client_id.json" file
        JSON_FILEPATH,
        # Authorization scopes required
        SCOPES,
        # The url where the google oauth should redirect
        # after a successful login.
        REDIRECT_URI,
        # Force the consent prompt even if the user was authorized
        # previously. Defaults to False.
        True)
    return HttpResponseRedirect(url)

Retreving and storing the credentials after successful login

import google_apis_oauth

def RedirectView(request):
    try:
        # Get user credentials
        credentials = google_apis_oauth.get_crendentials_from_callback(
            request,
            JSON_FILEPATH,
            SCOPES,
            REDIRECT_URI
        )

        # Stringify credentials for storing them in the DB
        stringified_token = google_apis_oauth.stringify_credentials(
            credentials)

        # Store the credentials safely in the DB
        ...

        # Now that you have stored the user credentials you
        # can redirect user to your main application.
        ...
    except google_apis_oauth.exceptions.InvalidLoginException:
        # Handle unauthenticated request to the callback uri.

Loading and using the user credentials

import google_apis_oauth
from googleapiclient.discovery import build

# Use the stringified token to get a credentials object
# that can be used to authenticate requests made by
# google-api-python-client
# NOTE: This function automatically refreshes the access_token
# if required.
creds = google_apis_oauth.load_credentials(stringified_token)

# Using credentials in google-api-python-client.
service = build('calendar', 'v3', credentials=creds)
...

Example

You can refer to this blog for an example where this library is used.

Project details


Download files

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

Files for google-apis-oauth-django, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size google_apis_oauth_django-0.1.0-py3-none-any.whl (4.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size google-apis-oauth-django-0.1.0.tar.gz (3.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page