Sobre o projeto

A Google APIs Client Library para PHP permite interação no lado do servidor com APIs do Google, como Gmail, Drive e YouTube. Ela é oficialmente suportada pelo Google, mas é considerada completa e em modo de manutenção, o que significa que apenas bugs críticos e problemas de segurança serão corrigidos, sem adição de novos recursos. Para APIs do Google Cloud Platform (por exemplo, Datastore, Cloud Storage, Pub/Sub, Compute Engine), o Google recomenda usar as bibliotecas de cliente dedicadas do Google Cloud. **Requisitos** - PHP 8.0 ou superior **Instalação** - Método preferido: Composer (`composer require google/apiclient`). A biblioteca depende de `google/apiclient-services`, que fornece wrappers de API atualizados. Recomenda-se fixar uma versão específica de `google/apiclient-services` em produção para evitar mudanças que quebrem o código. - Alternativa: Baixar um arquivo zip de lançamento e incluir o autoloader. - Para reduzir dependências, você pode usar a tarefa `Google\Task\Composer::cleanup` para manter apenas serviços específicos (por exemplo, Drive, YouTube) e remover os não utilizados. **Uso Básico** - Inclua o autoloader e crie uma instância de `Google\Client`. - Defina o nome do aplicativo, chave de desenvolvedor ou credenciais de autenticação. - Use classes de serviço geradas (por exemplo, `Google\Service\Books`) para fazer chamadas de API. **Autenticação** - OAuth 2.0 para aplicativos web: defina a configuração de auth, escopos, URI de redirecionamento e troque o código de autorização por um token de acesso. - Contas de serviço: use a variável de ambiente `GOOGLE_APPLICATION_CREDENTIALS` ou defina a configuração de auth diretamente. A delegação em todo o domínio pode personificar usuários via `setSubject`. - O método `authorize` retorna um cliente Guzzle autorizado para requisições HTTP diretas. **Cliente HTTP e Cache** - Usa Guzzle como cliente HTTP padrão, permitindo handlers e middleware personalizados. - Suporta bibliotecas de cache compatíveis com PSR-6 (por exemplo, `cache/filesystem-adapter`) para melhorar o desempenho. - A depuração de requisições HTTP pode ser feita com ferramentas como Charles. **Tratamento de Respostas Não-JSON** - Algumas APIs retornam XML por padrão; você pode solicitar JSON adicionando `'alt' => "json"` aos parâmetros opcionais. - Campos nulos são removidos por padrão; use `Google\Model::NULL_VALUE` para definir explicitamente nulo. **Suporte e Exemplos** - Exemplos estão disponíveis no diretório `examples/`, incluindo uploads de arquivos e contas de serviço. - Para suporte, use a tag google-api-php-client no StackOverflow ou abra issues no GitHub para bugs. - Solicitações de recursos devem ser para a biblioteca principal; solicitações específicas de API devem ir para as respectivas equipes de API. **Qualidade do Código** - Violações de estilo de codificação podem ser verificadas e corrigidas via scripts do Composer. Esta biblioteca é adequada para integrar APIs do Google em aplicações PHP, com documentação abrangente na pasta `docs/`.