Начало работы с клиентской библиотекой PHP

Чтобы начать использовать API библиотеки Google Фото с клиентской библиотекой PHP, вам необходимо настроить клиентскую библиотеку в своей среде разработки. Прежде чем сделать это, настройте свой проект , включив API через консоль Google API и настроив идентификатор клиента OAuth 2.0.

Ваше приложение взаимодействует с Google Фото от имени пользователя Google Фото. Например, когда вы создаете альбомы в библиотеке Google Фото пользователя или загружаете мультимедийные элементы в учетную запись пользователя в Google Фото, пользователь авторизует эти запросы API через протокол OAuth 2.0 .

Идентификатор клиента OAuth 2.0 позволяет пользователям вашего приложения входить в систему, проходить аутентификацию и, таким образом, использовать API библиотеки. API библиотеки не поддерживает учетные записи служб; Чтобы использовать этот API, пользователи должны войти в действующую учетную запись Google.

Настройте свое приложение

Включить API

Прежде чем вы сможете использовать API библиотеки, вы должны включить его для своего проекта.

  1. Перейдите в консоль Google API .
  2. В строке меню выберите проект или создайте новый проект.
  3. Чтобы открыть библиотеку API Google, в меню навигации выберите API и службы > Библиотека .
  4. Найдите «API библиотеки Google Фото». Выберите правильный результат и нажмите «Включить» .

Запросить идентификатор клиента OAuth 2.0

Выполните следующие действия, чтобы запросить идентификатор клиента OAuth и настроить его для своего приложения. В этом примере используется приложение, в котором весь поток OAuth обрабатывается на стороне сервера, например, как в наших примерах. Процесс установки может отличаться для других сценариев реализации .

  1. Перейдите в консоль Google API и выберите свой проект.
  2. В меню выберите API и службы > Учетные данные .
  3. На странице «Учетные данные» нажмите «Создать учетные данные» > «Идентификатор клиента OAuth» .
  4. Выберите тип приложения . В этом примере типом приложения является веб-приложение .
  5. Зарегистрируйте источники, из которых вашему приложению разрешен доступ к API Google, следующим образом:

    1. Чтобы определить идентификатор клиента, введите имя.
    2. В поле «Авторизованные источники JavaScript» введите источник вашего приложения. В этом поле нельзя использовать подстановочные знаки.

      Вы можете указать несколько источников, чтобы ваше приложение могло работать на разных протоколах, доменах или поддоменах. URL-адреса, которые вы вводите, могут запускать запрос OAuth.

      В следующем примере показан локальный URL-адрес разработки (в наших примерах используется localhost:8080 ) и рабочий URL-адрес.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Поле URI авторизованного перенаправления — это конечная точка, которая получает ответы от сервера OAuth 2.0. Обычно это включает в себя вашу среду разработки и указывает путь в вашем приложении.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Нажмите Создать .

  1. В появившемся диалоговом окне клиента OAuth загрузите файл JSON, содержащий конфигурацию вашего клиента. Сведения о вашем клиенте включают следующее:

    • Идентификатор клиента
    • Секрет клиента

    Этот файл JSON будет использоваться позже для настройки библиотеки Google Auth для PHP, которая работает с этой клиентской библиотекой.

Прежде чем вы сможете запустить общедоступное приложение, имеющее доступ к API библиотеки, ваше приложение должно быть проверено Google. Когда вы тестируете приложение, на экране появляется сообщение «Непроверенное приложение», пока оно не будет проверено .

Настройте клиентскую библиотеку

Клиентская библиотека PHP обрабатывает за вас все внутренние вызовы API и предоставляет удобные для работы объекты, включая примеры кода для некоторых распространенных задач API. Сначала загрузите и установите клиентскую библиотеку Google Photos Library API для PHP вместе с зависимостями с GitHub . Затем настройте свои учетные данные OAuth2 для PHP.

Варианты загрузки

Используйте композитор , чтобы включить библиотеку в качестве зависимости в вашу среду разработки. Выполните следующую команду, чтобы добавить библиотеку в конфигурацию вашего проекта и загрузить ее в каталогvendor vendor/ .

composer require google/photos-library

Кроме того, вы также можете клонировать репозиторий или загрузить сжатый архив .

Настройте свои учетные данные OAuth2 для PHP.

Эта клиентская библиотека работает с библиотекой Google Auth для PHP . Дополнительную информацию см. в разделе Использование OAuth 2.0 с клиентской библиотекой Google API для PHP .

Используйте учетные данные аутентификации, возвращаемые библиотекой аутентификации, при настройке PhotosLibraryClient .

Попробуйте несколько образцов

Попробуйте приведенный ниже код, чтобы выполнить первый вызов API с использованием клиентской библиотеки PHP.

use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}

На GitHub есть еще примеры , которые вы можете попробовать.