Sobre el proyecto

La Biblioteca de Clientes de APIs de Google para PHP permite la interacción del lado del servidor con APIs de Google como Gmail, Drive y YouTube. Está oficialmente respaldada por Google, pero se considera completa y en modo de mantenimiento, lo que significa que solo se abordarán errores críticos y problemas de seguridad, sin agregar nuevas funciones. Para las APIs de Google Cloud Platform (por ejemplo, Datastore, Cloud Storage, Pub/Sub, Compute Engine), Google recomienda usar las bibliotecas de cliente dedicadas de Google Cloud en su lugar. **Requisitos** - PHP 8.0 o superior **Instalación** - Método preferido: Composer (`composer require google/apiclient`). La biblioteca depende de `google/apiclient-services`, que proporciona envoltorios de API actualizados. Se recomienda fijar una versión específica de `google/apiclient-services` en producción para evitar cambios que rompan la compatibilidad. - Alternativa: descargar un archivo zip de una versión e incluir el autoloader. - Para reducir dependencias, puede usar la tarea `Google\Task\Composer::cleanup` para mantener solo servicios específicos (por ejemplo, Drive, YouTube) y eliminar los no utilizados. **Uso Básico** - Incluya el autoloader y cree una instancia de `Google\Client`. - Establezca el nombre de la aplicación, la clave de desarrollador o las credenciales de autenticación. - Use las clases de servicio generadas (por ejemplo, `Google\Service\Books`) para realizar llamadas a la API. **Autenticación** - OAuth 2.0 para aplicaciones web: configure la configuración de autenticación, los alcances, la URI de redirección y canjee el código de autorización por un token de acceso. - Cuentas de servicio: use la variable de entorno `GOOGLE_APPLICATION_CREDENTIALS` o configure la configuración de autenticación directamente. La delegación de todo el dominio puede suplantar a los usuarios mediante `setSubject`. - El método `authorize` devuelve un cliente Guzzle autorizado para solicitudes HTTP directas. **Cliente HTTP y Caché** - Usa Guzzle como cliente HTTP predeterminado, lo que permite manejadores y middleware personalizados. - Admite bibliotecas de caché compatibles con PSR-6 (por ejemplo, `cache/filesystem-adapter`) para mejorar el rendimiento. - La depuración de solicitudes HTTP se puede realizar con herramientas como Charles. **Manejo de Respuestas No JSON** - Algunas APIs devuelven XML por defecto; puede solicitar JSON agregando `'alt' => "json"` a los parámetros opcionales. - Los campos nulos se eliminan por defecto; use `Google\Model::NULL_VALUE` para establecer nulos explícitamente. **Soporte y Ejemplos** - Hay ejemplos disponibles en el directorio `examples/`, incluidos cargas de archivos y cuentas de servicio. - Para soporte, use la etiqueta google-api-php-client en StackOverflow o reporte problemas en GitHub para errores. - Las solicitudes de funciones deben ser para la biblioteca principal; las solicitudes específicas de API deben ir a los equipos respectivos de la API. **Calidad del Código** - Las violaciones de estilo de codificación se pueden verificar y corregir mediante scripts de Composer. Esta biblioteca es adecuada para integrar APIs de Google en aplicaciones PHP, con documentación completa en la carpeta `docs/`.