gogoogle

package module
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: May 24, 2026 License: MIT Imports: 1 Imported by: 0

README

Go Google

Go CI Go Lint Go SAST Go Report Card Docs Visualization 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
v1
Package docsutil provides utilities for working with the Google Docs API.
Package docsutil provides utilities for working with the Google Docs API.
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