The easiest way to authenticate for the Google services.
This library is intented to simplify the interaction with the Google API for using the Google services such as Youtube, Slides, etc.
- Go to the Google Developers console: https://console.cloud.google.com.
- Go to the APIs library (https://console.cloud.google.com/apis/library) and enable the one you need.
- Go to the Oauth Credentials section (https://console.cloud.google.com/apis/credentials) and create a new Oauth Authentication ID for a
Desktop App. Remember to download it as a JSON file when created. *Maybe you need to create a Consent screen (enable as testing and add yourself as a tester or publish it) and create a new project in the console. - Place the
client-secret.jsonin the project. - Indicate that
client-secret.jsonand use the library. You will generate atoken.jsonthat will be used to consider you as an authenticated user.
from google_auth_easy import GoogleAuth
from google_auth_easy.config import GoogleAuthConfig
from google_auth_easy.scopes import Scope
# Indicate your client_secret file
config = GoogleAuthConfig(
client_secret_file = 'client_secret.json',
)
# Initialize the instance
auth = GoogleAuth(config)
# Authenticate it for your desired scopes
auth.authenticate(
Scope.DRIVE_READONLY,
)
Your client secret information must be a .json file that
includes your client id, your client secret and some other
fields. You can download this information from Google API
web platform by creating your Oauth user. Here is an example:
{
"web": {
"client_id": "XXXXXXX.apps.googleusercontent.com",
"client_secret": "XXXXXX",
"redirect_uris": [],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token"
}
}
Your token must be a .json file that includes the information needed to authenticate your user, and some extra information such as if the token can be refreshed or not:
{
"token": "ya29.a0ARGnu0ZyKzwSGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXwhXw0206",
"refresh_token": "1//0g7tTXXXXXXXXXXXXXXXXXXXXXSNwF-L9Ir_hEj8XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7le_X6XXXXXXXXXXXQ",
"token_uri": "https://oauth2.googleapis.com/token",
"client_id": "59591XXXXXXXXXXXXXXXXXXXXXXXg1ti.apps.googleusercontent.com",
"client_secret": "GXXXXXX-3gDXXXXXXXXXXXXXXXXXXXXXJP",
"scopes": ["https://www.googleapis.com/auth/drive.readonly"],
"universe_domain": "googleapis.com",
"account": "",
"expiry": "2026-08-05T12:37:57Z"
}