google-api-go-client is a collection of auto-generated Go client libraries for Google APIs.
The tool addresses the need to interact with Google's diverse API surface from Go applications. It works by automatically generating client libraries from Google's Discovery Service JSON descriptions, which define each API's endpoints, methods, and data structures. This approach ensures broad coverage of Google's API portfolio but means the libraries are generated rather than hand-crafted.
Developers should adopt this tool if they need to call Google APIs from Go and are working with non-Google Cloud Platform services. The README explicitly directs users working with Google Cloud Platform APIs such as Datastore or Pub/Sub to use the Cloud Client Libraries for Go instead, which are newer and more idiomatic for that specific use case. The tool supports multiple authorization patterns including Application Default Credentials, JSON key files, and custom oauth2 token sources. A Getting Started guide and examples directory are available for developers new to the library.
The project is in maintenance mode, meaning the maintainers address critical bugs and security issues but do not add new features. The auto-generated nature of the libraries means breaking changes can occur between releases. The generator itself and the code it produces are considered beta. The tool is officially supported by Google.