{"id":17736214,"url":"https://github.com/grokify/gogoogle","last_synced_at":"2026-02-14T20:06:15.864Z","repository":{"id":38206618,"uuid":"111602652","full_name":"grokify/gogoogle","owner":"grokify","description":"Google API helpers in Golang. The folder structure is designed to be similar to the Google Go API Client here: https://github.com/google/google-api-go-client","archived":false,"fork":false,"pushed_at":"2026-02-07T20:43:32.000Z","size":1822,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-08T01:43:36.124Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grokify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-11-21T21:21:20.000Z","updated_at":"2026-02-07T20:43:35.000Z","dependencies_parsed_at":"2023-09-24T22:50:49.735Z","dependency_job_id":"aafcf347-27e3-44dd-9161-1146350837f8","html_url":"https://github.com/grokify/gogoogle","commit_stats":{"total_commits":263,"total_committers":3,"mean_commits":87.66666666666667,"dds":0.2623574144486692,"last_synced_commit":"fe1f540efa62bab89765c374bf8fbeb287c72940"},"previous_names":["grokify/gogoogle","grokify/googleutil"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/grokify/gogoogle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fgogoogle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fgogoogle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fgogoogle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fgogoogle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grokify","download_url":"https://codeload.github.com/grokify/gogoogle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fgogoogle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29454797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-26T00:05:04.127Z","updated_at":"2026-02-14T20:06:15.859Z","avatar_url":"https://github.com/grokify.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Google\n\n[![Build Status][build-status-svg]][build-status-url]\n[![Lint Status][lint-status-svg]][lint-status-url]\n[![Go Report Card][goreport-svg]][goreport-url]\n[![Docs][docs-godoc-svg]][docs-godoc-url]\n[![License][license-svg]][license-url]\n\n [build-status-svg]: https://github.com/grokify/gogoogle/actions/workflows/ci.yaml/badge.svg?branch=master\n [build-status-url]: https://github.com/grokify/gogoogle/actions/workflows/ci.yaml\n [lint-status-svg]: https://github.com/grokify/gogoogle/actions/workflows/lint.yaml/badge.svg?branch=master\n [lint-status-url]: https://github.com/grokify/gogoogle/actions/workflows/lint.yaml\n [goreport-svg]: https://goreportcard.com/badge/github.com/grokify/gogoogle\n [goreport-url]: https://goreportcard.com/report/github.com/grokify/gogoogle\n [docs-godoc-svg]: https://pkg.go.dev/badge/github.com/grokify/gogoogle\n [docs-godoc-url]: https://pkg.go.dev/github.com/grokify/gogoogle\n [license-svg]: https://img.shields.io/badge/license-MIT-blue.svg\n [license-url]: https://github.com/grokify/gogoogle/blob/master/LICENSE\n\n`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](https://github.com/google/google-api-go-client) and [Google Cloud Go](https://github.com/googleapis/google-cloud-go) libraries.\n\n## Installation\n\n```bash\ngo get github.com/grokify/gogoogle\n```\n\n## Packages\n\n### Gmail (`gmailutil/v1`)\n\nComprehensive Gmail API helper library for message operations, label management, and mail merge functionality.\n\n- List and retrieve messages with filtering options (by sender, category, labels)\n- Batch delete messages\n- Send emails with the `mailutil.MessageWriter` interface\n- Mail merge with Mustache templates and Google Sheets data sources\n- Label management\n\n### Google Sheets (`sheetsutil`)\n\nUtilities for reading and writing Google Sheets data with typed structures.\n\n- **sheetsutil/v4/sheetsmap** - Maps sheet data to Go types with enum validation and column management\n- **sheetsutil/iwark** - Low-level spreadsheet operations using the [Iwark spreadsheet](https://github.com/Iwark/spreadsheet) library\n\n### Google Slides (`slidesutil/v1`)\n\nComprehensive Google Slides manipulation library.\n\n- Create presentations with title slides\n- Add slides with various layouts (title/body, main point, image sidebars)\n- Create and style text boxes, tables, lines, and shapes\n- Markdown-to-Slides conversion with bulleted lists, text styling, and links\n- Batch update operations\n- Color utilities for RGB/hex conversion\n\n### Google Maps (`mapsutil/staticmap`)\n\nGenerate Google Static Maps with customizable markers.\n\n- Configure map center, zoom, and dimensions\n- Add styled markers with colors and labels\n- Preset regions (USA, Europe, World)\n- Download maps as PNG files\n\n### Speech-to-Text (`speechtotext`)\n\nWrapper for Google's Speech-to-Text API.\n\n- Transcribe audio from byte data or files\n- Confidence threshold filtering\n\n### Text-to-Speech (`texttospeech/v1beta1`)\n\nWrapper for Google's Text-to-Speech API.\n\n- Synthesize speech from text\n- Multiple voice options (WaveNet neural, standard)\n- Multiple audio formats (MP3, LINEAR16, OGG_OPUS)\n\n### Data Loss Prevention (`dlp/v2`)\n\nHelper functions for Google's DLP API to detect sensitive information.\n\n- Create content items for DLP inspection\n- Pre-defined info types (credit cards, SSNs, person names, US states)\n\n### BigQuery (`bigqueryutil`)\n\nUtilities for streaming data uploads to BigQuery.\n\n- Automatic chunking for large uploads (max 10,000 items per operation)\n- Error handling for batch insert operations\n\n### Google Docs (`docsutil`)\n\nURL parsing and construction for Google Docs and Sheets.\n\n- Parse document IDs from URLs\n- Build document URLs from IDs\n\n### Authentication (`auth`)\n\nSimplified OAuth2 setup for Google APIs.\n\n- Token management with file-based storage\n- Token refresh support\n\n## Related Libraries\n\n- OAuth 2.0 utilities via [`goauth/google`](https://github.com/grokify/goauth/tree/master/google)\n- OAuth 2.0 demo app via [`beegoutil`](https://github.com/grokify/beegoutil)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrokify%2Fgogoogle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrokify%2Fgogoogle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrokify%2Fgogoogle/lists"}