Placeholder
Blogs
On
February 2, 2025

Step-by-Step Guide to Building a Google Slides API Integration in Python

This step-by-step guide walks developers through integrating the Google Slides API with Python to create, edit, and manage presentations programmatically. It covers setting up a Google Cloud project, authenticating with OAuth 2.0, and using API calls to add slides, insert text, and modify presentations dynamically. With practical code samples and best practices, this guide helps streamline Google Workspace automation. Start building today with the Google Slides API!

Step-by-Step Guide to Building a Google Slides API Integration in Python

Introduction

Integrating with the Google Slides API using Python allows developers to automate slide creation, modify presentations programmatically, and integrate with Google Workspace applications. This guide provides a step-by-step tutorial on how to authenticate, create, edit, and manage Google Slides presentations using Python.

Prerequisites

Before you begin, ensure you have the following:

  • A Google Cloud Platform (GCP) project with the Google Slides API enabled.
  • Python installed (preferably Python 3.7 or later).
  • Required libraries: google-auth, google-auth-oauthlib, google-auth-httplib2, and google-api-python-client.
  • A Google OAuth2 credentials.json file.

Step 1: Setting Up Your Google Cloud Project

  1. Go to the Google Cloud Console.
  2. Create a new project or select an existing one.
  3. Navigate to APIs & Services > Library and enable the Google Slides API.
  4. Go to APIs & Services > Credentials and create OAuth 2.0 client credentials.
  5. Download the credentials.json file and store it securely.

For more details, check the Google Slides API Quickstart Guide.

Step 2: Installing Required Python Libraries

To interact with the Google Slides API, install the required Python libraries:

pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client

You can find additional installation details in the Google API Python Client Documentation.

Step 3: Authenticating with OAuth 2.0

Create an authentication script in Python:

from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ["https://www.googleapis.com/auth/presentations"]
SERVICE_ACCOUNT_FILE = "path/to/credentials.json"

creds = service_account.Credentials.from_service_account_file(
   SERVICE_ACCOUNT_FILE, scopes=SCOPES)

service = build("slides", "v1", credentials=creds)
For more details on authentication, refer to the Google API Authentication Guide.

Step 4: Creating and Managing Presentations

Once authentication is complete, you can start interacting with Google Slides API to create, modify, and manage presentations programmatically.

Creating a New Presentation

To create a new Google Slides presentation, use the following code:

def create_presentation():
   presentation = service.presentations().create(body={"title": "My New Presentation"}).execute()
   print(f'Created presentation with ID: {presentation["presentationId"]}')
   return presentation["presentationId"]

presentation_id = create_presentation()

Adding a New Slide

Once a presentation is created, you can add a new slide using batchUpdate:

def add_slide(presentation_id):
   requests = [{
       "createSlide": {
           "objectId": "new_slide_id",
           "insertionIndex": 1
       }
   }]
   
   body = {"requests": requests}
   service.presentations().batchUpdate(presentationId=presentation_id, body=body).execute()
   print("Added a new slide")

add_slide(presentation_id)

Modifying Slides

You can also modify existing slides, such as inserting text or images dynamically:

def add_text(presentation_id, slide_id, text):
   requests = [{
       "createShape": {
           "objectId": "text_box_1",
           "shapeType": "TEXT_BOX",
           "elementProperties": {"pageObjectId": slide_id}
       }
   }, {
       "insertText": {
           "objectId": "text_box_1",
           "text": text
       }
   }]
   
   body = {"requests": requests}
   service.presentations().batchUpdate(presentationId=presentation_id, body=body).execute()
   print("Added text to the slide")

add_text(presentation_id, "new_slide_id", "Hello, Google Slides API!")

Conclusion

By following this guide, you can successfully integrate the Google Slides API with Python to automate presentation creation and management. Whether you need to add slides, insert images, update text, or modify an existing slide deck, the Google Slides API provides powerful capabilities for automation.

Start building today with the Google Slides API documentation!

For more discussions and troubleshooting, visit the Google Slides API Community.

Related posts

Written by:

Adam Khakhar

Co-founder & CTO
Book a a meeting with our founders