happyr/google-api-bundle
Symfony bundle that integrates the official Google APIs PHP client. It configures and exposes a ready-to-use Google_Client service, with bundle settings for application credentials, OAuth, and API access, simplifying Google service integration in Symfony applications.
Google_Client plus credential/scope plumbing, and the 2.3.0 release confirms that thesis: its headline feature is two thin service classes (SlideService, DriveService) wrapping API resources we could call directly. That is a service definition and a config tree, not a product. Default position: wire the official google/apiclient directly and own the 30–50 lines.Consider it when:
Google_Client as a container service with credentials and scopes from configuration, and 2.3.0 shows the pattern for adding resource-specific services (SlideService, DriveService) on top.Look elsewhere when:
league/oauth2-google or a maintained OAuth bundle/Symfony authenticator instead.google/cloud-* libraries, which are maintained and typed.For executives: Someone proposed a third-party Symfony wrapper for Google APIs, and it just shipped a 2.3.0 release adding Slides and Drive support. My recommendation is unchanged: decline it as a dependency. It has 48 stars, its prior release was September 2018, and no public projects depend on it — effectively an unmaintained sample that recently added two small convenience classes. Adopting it saves us perhaps a day of setup and creates a migration item later. The official Google PHP client is actively maintained and integrates with Symfony in roughly the same amount of code. Net: same delivery date, materially lower long-term risk.
For engineering: Treat the bundle as documentation, not a dependency. Read how it registers Google_Client in the container and how 2.3.0 layers SlideService/DriveService over the generated API resources, then implement that directly against google/apiclient in our own services.yaml with credentials from env/secrets. Budget one to two days including OAuth flow and token storage. That gives us explicit control over refresh, scopes, and multi-tenant handling — the parts that actually carry product risk — without a stale pin in composer.json.
The one-line decision: wire the official SDK ourselves, using the new service classes as a pattern rather than a dependency; revisit only if we find we're rebuilding the same abstraction in three or more services.
How can I help you explore Laravel packages today?