Official Ruby client libraries for accessing Google APIs via HTTP/JSON REST endpoints with authentication and request control.
google-api-ruby-client is a collection of official Ruby client libraries for accessing Google APIs through HTTP/JSON REST endpoints. It provides automatically generated clients for various Google services, handling authentication, request retries, pagination, and timeouts. The project solves the problem of integrating with multiple Google APIs in Ruby applications with consistent, officially supported tooling.
Ruby developers building applications that need to interact with Google APIs such as Drive, Content API for Shopping, or other services where modern gRPC clients are unavailable. It's particularly useful for projects requiring broad API coverage with official support.
Developers choose this library because it offers officially supported, regularly updated clients for a wide range of Google APIs with automatic generation ensuring API compatibility. It provides a consistent authentication and request control layer across services, though Google recommends their modern clients where available for better performance and usability.
REST client for Google APIs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Libraries are generated from Google's Discovery Documents, ensuring they stay current with API changes without manual intervention.
Seamlessly works with the googleauth gem for OAuth, API keys, and service accounts, simplifying secure access to Google services.
Provides control over retry logic, pagination, and timeouts, making API interactions more reliable out of the box.
Maintained by Google with regular updates and compatibility with supported Ruby versions, ensuring long-term viability.
As admitted in the README, the auto-generated code can result in clunky and non-Ruby-like class designs, hindering developer experience.
Relies on HTTP/JSON REST endpoints, which may be slower than gRPC-based modern clients for services where both are available.
Lacks support for advanced capabilities like streaming or optimized long-running operations found in hand-crafted clients.