gogoogle

package module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2026 License: MIT Imports: 1 Imported by: 0

README

Go Google

Build Status Lint Status Go Report Card Docs License

gogoogle is a set of generic, higher-level libraries for interacting with Google APIs using Go. It is built on the official Google API Go Client and Google Cloud Go libraries.

Installation

go get github.com/grokify/gogoogle

Packages

Gmail (gmailutil/v1)

Comprehensive Gmail API helper library for message operations, label management, and mail merge functionality.

  • List and retrieve messages with filtering options (by sender, category, labels)
  • Batch delete messages
  • Send emails with the mailutil.MessageWriter interface
  • Mail merge with Mustache templates and Google Sheets data sources
  • Label management
Google Sheets (sheetsutil)

Utilities for reading and writing Google Sheets data with typed structures.

  • sheetsutil/v4/sheetsmap - Maps sheet data to Go types with enum validation and column management
  • sheetsutil/iwark - Low-level spreadsheet operations using the Iwark spreadsheet library
Google Slides (slidesutil/v1)

Comprehensive Google Slides manipulation library.

  • Create presentations with title slides
  • Add slides with various layouts (title/body, main point, image sidebars)
  • Create and style text boxes, tables, lines, and shapes
  • Markdown-to-Slides conversion with bulleted lists, text styling, and links
  • Batch update operations
  • Color utilities for RGB/hex conversion
Google Maps (mapsutil/staticmap)

Generate Google Static Maps with customizable markers.

  • Configure map center, zoom, and dimensions
  • Add styled markers with colors and labels
  • Preset regions (USA, Europe, World)
  • Download maps as PNG files
Speech-to-Text (speechtotext)

Wrapper for Google's Speech-to-Text API.

  • Transcribe audio from byte data or files
  • Confidence threshold filtering
Text-to-Speech (texttospeech/v1beta1)

Wrapper for Google's Text-to-Speech API.

  • Synthesize speech from text
  • Multiple voice options (WaveNet neural, standard)
  • Multiple audio formats (MP3, LINEAR16, OGG_OPUS)
Data Loss Prevention (dlp/v2)

Helper functions for Google's DLP API to detect sensitive information.

  • Create content items for DLP inspection
  • Pre-defined info types (credit cards, SSNs, person names, US states)
BigQuery (bigqueryutil)

Utilities for streaming data uploads to BigQuery.

  • Automatic chunking for large uploads (max 10,000 items per operation)
  • Error handling for batch insert operations
Google Docs (docsutil)

URL parsing and construction for Google Docs and Sheets.

  • Parse document IDs from URLs
  • Build document URLs from IDs
Authentication (auth)

Simplified OAuth2 setup for Google APIs.

  • Token management with file-based storage
  • Token refresh support

Documentation

Index

Constants

View Source
const (
	ScopeDrive                = sheets.DriveScope
	ScopeDriveFile            = sheets.DriveFileScope
	ScopeDriveReadonly        = sheets.DriveReadonlyScope
	ScopeSpreadsheets         = sheets.SpreadsheetsScope
	ScopeSpreadsheetsReadonly = sheets.SpreadsheetsReadonlyScope // "https://www.googleapis.com/auth/spreadsheets.readonly"
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
Formatting text with the Google Slides API Video: https://www.youtube.com/watch?v=_O2aUCJyCoQ
Formatting text with the Google Slides API Video: https://www.youtube.com/watch?v=_O2aUCJyCoQ
cmd
gogoogle command
gogoogle is a unified CLI for Google API utilities.
gogoogle is a unified CLI for Google API utilities.
gogoogle/internal/config
Package config provides shared configuration for the gogoogle CLI.
Package config provides shared configuration for the gogoogle CLI.
gogoogle/internal/gmail
Package gmail provides the gmail group command for the gogoogle CLI.
Package gmail provides the gmail group command for the gogoogle CLI.
gogoogle/internal/rootcmd
Package rootcmd provides the root command for the gogoogle CLI.
Package rootcmd provides the root command for the gogoogle CLI.
gogoogle/internal/slides
Package slides provides the slides group command for the gogoogle CLI.
Package slides provides the slides group command for the gogoogle CLI.
dlp
v2
gmailutil
v1
v1/examples/mail_merge command
Example mail_merge demonstrates sending templated emails using the mailmerge package.
Example mail_merge demonstrates sending templated emails using the mailmerge package.
mapsutil
staticmap
staticmap assists with https://developers.google.com/maps/documentation/maps-static/start
staticmap assists with https://developers.google.com/maps/documentation/maps-static/start
sheetsutil
v4/examples/iwark_oauth command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
v4/examples/map command
slidesutil
v1
v1/cmd/slides-content command
slides-content extracts text and image URLs from a Google Slides presentation.
slides-content extracts text and image URLs from a Google Slides presentation.
v1/examples/create_image command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example Adding Image to a Slide: https://developers.google.com/slides/how-tos/add-image
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example Adding Image to a Slide: https://developers.google.com/slides/how-tos/add-image
v1/examples/create_line command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
v1/examples/create_table command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
v1/examples/create_textbox command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
v1/examples/create_textboxes_single_column command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
v1/examples/format_markdown command
Formatting text with the Google Slides API Video: https://www.youtube.com/watch?v=_O2aUCJyCoQ
Formatting text with the Google Slides API Video: https://www.youtube.com/watch?v=_O2aUCJyCoQ
v1/examples/format_text command
Formatting text with the Google Slides API Video: https://www.youtube.com/watch?v=_O2aUCJyCoQ This intentially does not use any of the helpers in https://github.com/grokify/gogoogle/slidesutil/v1/ See the `examples/format_markdown` for how to use the slidesutil request helpers.
Formatting text with the Google Slides API Video: https://www.youtube.com/watch?v=_O2aUCJyCoQ This intentially does not use any of the helpers in https://github.com/grokify/gogoogle/slidesutil/v1/ See the `examples/format_markdown` for how to use the slidesutil request helpers.
v1/examples/hello_world command
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
Go example that covers: Quickstart: https://developers.google.com/slides/quickstart/go Basic writing: adding a text box to slide: https://developers.google.com/slides/samples/writing Using SDK: https://github.com/google/google-api-go-client/blob/master/slides/v1/slides-gen.go Creating and Managing Presentations https://developers.google.com/slides/how-tos/presentations Adding Shapes and Text to a Slide: https://developers.google.com/slides/how-tos/add-shape#example
texttospeech

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL