awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
googleapis avatar

googleapis/google-api-go-client

0
View on GitHub↗
4,395 stars·1,182 forks·Go·bsd-3-clause·15 viewspkg.go.dev/google.golang.org/api↗

Google Api Go Client

The Google API Go Client Library is a collection of auto-generated Go packages designed to facilitate authenticated requests to Google services via HTTP and gRPC. It serves as an API request and response manager that converts API discovery documents into typed code to provide a consistent interface for interacting with various services.

The library includes a dedicated OAuth 2.0 authentication client used to manage token lifecycles, handle service account credentials, and perform authorization flows. It supports identity impersonation, allowing a security context to assume the identity of a target service account for specific API calls.

Broad capability areas include API request optimization through response pagination and field filtering, as well as asynchronous operation tracking for monitoring long-running tasks. The project also provides a communication interface for configuring connection pools, overriding service endpoints, and injecting custom transport layers.

Features

  • Google API Integrations - Provides auto-generated typed clients for calling Google API services with authentication and request signing.
  • Custom API Endpoints - Allows overriding default API endpoints to connect to custom or self-hosted Google service instances.
  • Application Default Credential Authentications - Uses Google Application Default Credentials or service account JSON key files to authorize API calls.
  • Credentials Object Authentications - Passes a pre-built credentials object to authenticate all API requests.
  • Service Account Authenticators - Loads a service account or refresh token JSON file to authenticate API calls.
  • API Key Authentications - Passes a simple API key string as the credential for JSON-over-HTTP API calls.
  • OAuth2 Client Management - Provides OAuth2 scope configuration to control access permissions for Google API requests.
  • OAuth2 Token Source Suppliers - Supplies an OAuth2 token source to obtain access tokens for API requests.
  • Long-Running Operation Polling - Waits for asynchronous operations to complete by checking status with configurable backoff intervals.
  • Token-Based Pagination Clients - Walks through paginated result sets by repeating requests with next-page tokens from previous responses.
  • Module Version Listers - Lists available versions of a Go module in descending order, including tagged releases and pseudo-versions.
  • Symbol Search Interfaces - Searches Go packages and symbols by query string, returning results sorted by relevance.
  • Exported Symbol Listers - Lists exported symbols from a Go package with filtering and pagination support.
  • Client Certificate Authentication - Provides a callback to obtain a TLS client certificate for mutual TLS authentication.
  • Account Impersonation - Impersonates a target service account using a chain of delegate accounts for authentication.
  • Module Detail Retrievers - Retrieves structured information about a Go module, including versions, licenses, and README content.
  • Package Detail Retrievers - Retrieves structured information about a Go package, including documentation, imports, and license details.
  • Quota Project Selectors - Enables selection of the Google Cloud project used for quota tracking on API requests.
  • Descriptive HTTP Error Responses - Extracts HTTP status codes and structured error reasons from API responses using typed error wrappers.

Star history

Star history chart for googleapis/google-api-go-clientStar history chart for googleapis/google-api-go-client

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does googleapis/google-api-go-client do?

The Google API Go Client Library is a collection of auto-generated Go packages designed to facilitate authenticated requests to Google services via HTTP and gRPC. It serves as an API request and response manager that converts API discovery documents into typed code to provide a consistent interface for interacting with various services.

What are the main features of googleapis/google-api-go-client?

The main features of googleapis/google-api-go-client are: Google API Integrations, Custom API Endpoints, Application Default Credential Authentications, Credentials Object Authentications, Service Account Authenticators, API Key Authentications, OAuth2 Client Management, OAuth2 Token Source Suppliers.

What are some open-source alternatives to googleapis/google-api-go-client?

Open-source alternatives to googleapis/google-api-go-client include: caarlos0/env — env is a Go library that reads environment variables and populates the fields of a Go struct according to tag… gam-team/gam — GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments… google/google-api-go-client — This project is a collection of Go packages and a programmatic interface for interacting with Google services and… steipete/gogcli — gogcli is a single command-line binary that manages Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Apps Script,… googleapis/google-api-python-client — This project is a REST API client library and Google Cloud SDK component that integrates Python applications with… googleapis/google-cloud-go — The Google Cloud Go Client Library is a set of Go packages and a software development kit used to interact with Google…

Open-source alternatives to Google Api Go Client

Similar open-source projects, ranked by how many features they share with Google Api Go Client.
  • caarlos0/envcaarlos0 avatar

    caarlos0/env

    6,004View on GitHub↗

    env is a Go library that reads environment variables and populates the fields of a Go struct according to tag directives. It uses reflection to iterate over struct types and tags at runtime, mapping environment variable names to struct fields and applying parsing behavior defined in struct tags. The library supports required field validation, returning errors when marked fields are missing or empty after parsing. It also provides default value fallback from struct tags when environment variables are not set, environment variable expansion that recursively substitutes references within values,

    Goconfigconfigurationenvironment
    View on GitHub↗6,004
  • gam-team/gamGAM-team avatar

    GAM-team/GAM

    4,206View on GitHub↗

    GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments into structured API calls, enabling administrators to manage users, groups, organizational units, and domain settings across a Google Workspace environment. The tool handles authentication through OAuth2 flows, service accounts, and workload identity federation, and supports multi-tenant configurations for managing multiple domains or cloud projects from a single installation. GAM distinguishes itself through its batch processing and automation capabilities. It can process la

    Pythongamgooglegoogle-admin-sdk
    View on GitHub↗4,206
  • google/google-api-go-clientgoogle avatar

    google/google-api-go-client

    4,448View on GitHub↗

    This project is a collection of Go packages and a programmatic interface for interacting with Google services and Google Cloud resources via REST APIs. It functions as a client library and SDK that transforms raw HTTP requests into structured Go function calls. The library utilizes discovery-based client generation to create type-safe clients from API discovery documents. It separates the acquisition of authorization tokens from the request logic through a token-source based authentication model. The project covers identity management and authentication via OAuth 2.0, service accounts, and A

    Go
    View on GitHub↗4,448
  • steipete/gogclisteipete avatar

    steipete/gogcli

    4,232View on GitHub↗

    gogcli is a single command-line binary that manages Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Apps Script, Contacts, People, Tasks, Classroom, Chat, Groups, Keep, and Workspace Admin services through a predictable service resource method grammar. It authenticates across multiple Google accounts using OAuth, service accounts, access tokens, or application default credentials, storing credentials in the OS keyring for secure persistence. The tool also exposes a Model Context Protocol server over stdio that registers typed tools for agent clients, and can invoke any Google Discovery-

    Gogcalgcontactsgdrive
    View on GitHub↗4,232
  • See all 30 alternatives to Google Api Go Client→