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