A library to help integrate Google OAuth 2.0 to your Django application.
Google APIs OAuth Django
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.
pip install google-apis-oauth-django
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 # refreshed is a boolean that tells if the token was expired and was renewed. # You may want to update the credentials in the database if it is True. creds, refreshed = google_apis_oauth.load_credentials(stringified_token) # Using credentials in google-api-python-client. service = build('calendar', 'v3', credentials=creds) ...
You can refer to this blog for an example where this library is used.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for google-apis-oauth-django-1.0.0.tar.gz
Hashes for google_apis_oauth_django-1.0.0-py3-none-any.whl