Wprowadzenie do biblioteki klienta w języku PHP

Aby zacząć korzystać z interfejsu Google Photos Library API z biblioteką klienta PHP, musisz skonfigurować bibliotekę klienta w swoim środowisku programistycznym. Zanim to zrobisz, skonfiguruj projekt, włączając interfejs API w konsoli interfejsów API Google i ustawiając identyfikator klienta OAuth 2.0.

Twoja aplikacja współpracuje ze Zdjęciami Google w imieniu użytkownika tej usługi. Gdy na przykład tworzysz albumy w bibliotece Zdjęć Google użytkownika lub przesyłasz elementy multimedialne na konto użytkownika Zdjęć Google, użytkownik autoryzuje te żądania do interfejsu API za pomocą protokołu OAuth 2.0.

Identyfikator klienta OAuth 2.0 umożliwia użytkownikom aplikacji logowanie się i uwierzytelnianie, a tym samym korzystanie z interfejsu Library API. Interfejs Library API nie obsługuje kont usługi. Aby korzystać z tego interfejsu API, użytkownicy muszą być zalogowani na prawidłowe konto Google.

Konfiguracja aplikacji

Włącz API

Aby korzystać z interfejsu Library API, musisz go włączyć w swoim projekcie.

  1. Otwórz konsolę interfejsów API Google.
  2. Na pasku menu wybierz projekt lub utwórz nowy projekt.
  3. Aby otworzyć bibliotekę interfejsów API Google, w menu nawigacyjnym wybierz Interfejsy API i usługi > Biblioteka.
  4. Wyszukaj „Google Photos Library API”. Wybierz właściwy wynik i kliknij Włącz.

Poproś o identyfikator klienta OAuth 2.0

Wykonaj czynności opisane poniżej, aby zażądać identyfikatora klienta OAuth i skonfigurować go dla swojej aplikacji. W tym przykładzie używamy aplikacji, w której cały proces OAuth jest obsługiwany po stronie serwera, tak jak w przykładach. Proces konfiguracji może się różnić w zależności od scenariuszy implementacji.

  1. Otwórz Konsolę interfejsów API Google i wybierz projekt.
  2. Z menu wybierz Interfejsy API i usługi > Dane logowania.
  3. Na stronie Dane logowania kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
  4. Wybierz Typ aplikacji. W tym przykładzie typ aplikacji to Aplikacja internetowa.
  5. Zarejestruj źródła, z których Twoja aplikacja może uzyskiwać dostęp do interfejsów API Google, wykonaj te czynności:

    1. Aby zidentyfikować identyfikator klienta, wpisz nazwę.
    2. W polu Autoryzowane źródła JavaScript wpisz pochodzenie aplikacji. W tym polu nie można używać symboli wieloznacznych.

      Aby umożliwić działanie aplikacji w różnych protokołach, domenach lub subdomenach, możesz podać wiele źródeł. Wpisane adresy URL mogą uruchamiać żądanie OAuth.

      Poniższy przykład zawiera adres URL do lokalnego tworzenia treści (nasze przykłady korzystają z elementu localhost:8080) i adres URL do środowiska produkcyjnego.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Pole Identyfikator URI autoryzowanego przekierowania to punkt końcowy, który otrzymuje odpowiedzi z serwera OAuth 2.0. Zwykle obejmuje to środowisko programistyczne i wskazuje ścieżkę w aplikacji.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Kliknij Utwórz.

  1. W wyświetlonym oknie klienta OAuth pobierz plik JSON zawierający konfigurację klienta. Szczegóły Twojego klienta obejmują:

    • Identyfikator klienta
    • Tajny klucz klienta

    Ten plik JSON zostanie później użyty do skonfigurowania biblioteki Google Auth dla PHP, która współpracuje z tą biblioteką klienta.

Zanim udostępnisz publiczną aplikację, która uzyskuje dostęp do interfejsu Library API, Google musi ją sprawdzić. Podczas testowania aplikacji na ekranie wyświetla się komunikat „Niezweryfikowana aplikacja”, dopóki nie zostanie ona zweryfikowana.

Konfigurowanie biblioteki klienta

Biblioteka klienta PHP obsługuje wszystkie wywołania interfejsu API backendu i udostępnia przyjazne obiekty do pracy, w tym przykłady kodu do niektórych typowych zadań interfejsu API. Najpierw pobierz i zainstaluj bibliotekę klienta interfejsu Google Photos Library API dla języka PHP oraz zależności z GitHub. Następnie skonfiguruj dane logowania OAuth2 dla PHP.

Opcje pobierania

Użyj narzędzia composer, aby dodać bibliotekę jako zależność w środowisku programistycznym. Uruchom to polecenie, aby dodać bibliotekę do konfiguracji projektu i pobrać ją do katalogu vendor/.

composer require google/photos-library

Możesz też sklonować repozytorium lub pobrać skompresowany plik tar.

Konfigurowanie danych logowania OAuth2 dla PHP

Ta biblioteka klienta współpracuje z biblioteką uwierzytelniania Google dla języka PHP. Więcej informacji znajdziesz w artykule na temat używania OAuth 2.0 z biblioteką klienta interfejsów API Google dla języka PHP.

Użyj danych uwierzytelniających zwróconych przez bibliotekę uwierzytelniania podczas konfigurowania PhotosLibraryClient.

Wypróbuj kilka przykładów

Użyj podanego niżej kodu, by wykonać pierwsze wywołanie interfejsu API przy użyciu biblioteki klienta w języku 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;
}

Na GitHubie znajdziesz więcej przykładów do wypróbowania.