Об этом проекте
Клиентская библиотека 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/`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.