Об этом проекте

Клиентская библиотека Google APIs для PHP обеспечивает взаимодействие на стороне сервера с Google API, такими как Gmail, Drive и YouTube. Она официально поддерживается Google, но считается завершенной и находится в режиме сопровождения, что означает, что будут исправляться только критические ошибки и проблемы безопасности, без добавления новых функций. Для Google Cloud Platform API (например, Datastore, Cloud Storage, Pub/Sub, Compute Engine) Google рекомендует использовать выделенные клиентские библиотеки Google Cloud. **Требования** - PHP 8.0 или выше **Установка** - Предпочтительный метод: Composer (`composer require google/apiclient`). Библиотека зависит от `google/apiclient-services`, который предоставляет актуальные обертки API. Рекомендуется закреплять конкретную версию `google/apiclient-services` в производстве, чтобы избежать критических изменений. - Альтернатива: загрузить zip-файл релиза и подключить автозагрузчик. - Чтобы уменьшить зависимости, можно использовать задачу `Google\Task\Composer::cleanup` для сохранения только определенных сервисов (например, Drive, YouTube) и удаления неиспользуемых. **Базовое использование** - Подключите автозагрузчик и создайте экземпляр `Google\Client`. - Установите имя приложения, ключ разработчика или учетные данные аутентификации. - Используйте сгенерированные классы сервисов (например, `Google\Service\Books`) для выполнения вызовов API. **Аутентификация** - OAuth 2.0 для веб-приложений: настройте конфигурацию аутентификации, области доступа, URI перенаправления и обменяйте код авторизации на токен доступа. - Сервисные аккаунты: используйте переменную окружения `GOOGLE_APPLICATION_CREDENTIALS` или настройте конфигурацию аутентификации напрямую. Делегирование на уровне домена может выдавать себя за пользователей через `setSubject`. - Метод `authorize` возвращает авторизованный клиент Guzzle для прямых HTTP-запросов. **HTTP-клиент и кэширование** - Использует Guzzle в качестве HTTP-клиента по умолчанию, что позволяет настраивать обработчики и промежуточное ПО. - Поддерживает библиотеки кэширования, совместимые с PSR-6 (например, `cache/filesystem-adapter`), для повышения производительности. - Отладка HTTP-запросов может выполняться с помощью таких инструментов, как Charles. **Обработка ответов, не в формате JSON** - Некоторые API по умолчанию возвращают XML; вы можете запросить JSON, добавив `'alt' => "json"` к необязательным параметрам. - Нулевые поля по умолчанию удаляются; используйте `Google\Model::NULL_VALUE` для явного указания null. **Поддержка и примеры** - Примеры доступны в каталоге `examples/`, включая загрузку файлов и сервисные аккаунты. - Для поддержки используйте тег google-api-php-client на StackOverflow или сообщайте об ошибках на GitHub. - Запросы функций должны касаться основной библиотеки; запросы, специфичные для API, следует направлять в соответствующие команды API. **Качество кода** - Нарушения стиля кодирования можно проверить и исправить с помощью скриптов Composer. Эта библиотека подходит для интеграции с Google API в PHP-приложениях, с полной документацией в папке `docs/`.