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/`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.