Erste Schritte mit der PHP-Clientbibliothek

Wenn Sie die Google Photos Library API mit der PHP-Clientbibliothek verwenden möchten, müssen Sie in Ihrer Entwicklungsumgebung die Clientbibliothek einrichten. Bevor Sie dies tun, müssen Sie Ihr Projekt konfigurieren. Aktivieren Sie dazu die API über die Google API Console und richten Sie eine OAuth 2.0-Client-ID ein.

Ihre Anwendung interagiert im Namen eines Google Fotos-Nutzers mit Google Fotos. Wenn Sie beispielsweise Alben in der Google Fotos-Galerie eines Nutzers erstellen oder Medienelemente in das Google Fotos-Konto eines Nutzers hochladen, autorisiert der Nutzer diese API-Anfragen über das OAuth 2.0-Protokoll.

Mit der OAuth 2.0-Client-ID können sich die Nutzer Ihrer Anwendung anmelden, authentifizieren und dabei die Library API verwenden. Die Library API unterstützt keine Dienstkonten. Nutzer müssen in einem gültigen Google-Konto angemeldet sein, um diese API verwenden zu können.

Eigene App konfigurieren

API aktivieren

Bevor Sie die Library API verwenden können, müssen Sie sie für Ihr Projekt aktivieren.

  1. Gehen Sie zur Google API Console.
  2. Wähle in der Menüleiste ein Projekt aus oder erstelle ein neues Projekt.
  3. Wählen Sie im Navigationsmenü APIs & Dienste > Bibliothek aus, um die Google API-Bibliothek zu öffnen.
  4. Suchen Sie nach „Google Photos Library API“. Wählen Sie das richtige Ergebnis aus und klicken Sie auf Aktivieren.

OAuth 2.0-Client-ID anfordern

Führen Sie die folgenden Schritte aus, um eine OAuth-Client-ID anzufordern und für Ihre Anwendung zu konfigurieren. In diesem Beispiel wird eine Anwendung verwendet, bei der der gesamte OAuth-Ablauf serverseitig verarbeitet wird, wie die in unseren Beispielen. Der Einrichtungsprozess kann je nach Implementierungsszenarien variieren.

  1. Rufe die Google API Console auf und wähle dein Projekt aus.
  2. Wähle im Menü APIs und Dienste > Anmeldedaten aus.
  3. Klicken Sie auf der Seite Anmeldedaten auf Anmeldedaten erstellen > OAuth-Client-ID.
  4. Wählen Sie den Anwendungstyp aus. In diesem Beispiel lautet der Anwendungstyp Webanwendung.
  5. Registrieren Sie die Quellen, von denen Ihre App auf die Google APIs zugreifen darf:

    1. Geben Sie einen Namen ein, um die Client-ID zu identifizieren.
    2. Geben Sie im Feld Autorisierte JavaScript-Quellen den Ursprung für Ihre App ein. In diesem Feld sind keine Platzhalter zulässig.

      Sie können mehrere Ursprünge eingeben, damit Ihre Anwendung in verschiedenen Protokollen, Domains oder Subdomains ausgeführt werden kann. Die eingegebenen URLs dürfen eine OAuth-Anfrage starten.

      Das folgende Beispiel zeigt eine lokale Entwicklungs-URL (in unseren Beispielen localhost:8080) und eine Produktions-URL.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Das Feld Autorisierter Weiterleitungs-URI ist der Endpunkt, der Antworten vom OAuth 2.0-Server empfängt. In der Regel umfasst dies Ihre Entwicklungsumgebung und verweist auf einen Pfad in Ihrer Anwendung.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Klicken Sie auf Erstellen.

  1. Laden Sie im resultierenden OAuth-Client-Dialogfeld die JSON-Datei mit Ihrer Clientkonfiguration herunter. Ihre Clientdetails sehen so aus:

    • Client-ID
    • Clientschlüssel

    Diese JSON-Datei wird später verwendet, um die Google Auth-Bibliothek für PHP einzurichten, die mit dieser Clientbibliothek funktioniert.

Bevor Sie eine öffentliche Anwendung starten können, die auf die Library API zugreift, muss Ihre Anwendung von Google geprüft werden. Wenn Sie Ihre Anwendung testen, wird die Meldung „Nicht überprüfte Anwendung“ angezeigt, bis sie bestätigt ist.

Clientbibliothek einrichten

Die PHP-Clientbibliothek verarbeitet alle Back-End-API-Aufrufe und stellt nutzerfreundliche Objekte bereit, mit denen Sie arbeiten können, einschließlich Codebeispielen für einige gängige API-Aufgaben. Laden Sie zuerst die Clientbibliothek der Google Photos Library API für PHP zusammen mit den Abhängigkeiten von GitHub herunter und installieren Sie sie. Richten Sie dann Ihre OAuth2-Anmeldedaten für PHP ein.

Downloadoptionen

Verwenden Sie composer, um die Bibliothek als Abhängigkeit in Ihre Entwicklungsumgebung einzubinden. Führen Sie den folgenden Befehl aus, um die Bibliothek Ihrer Projektkonfiguration hinzuzufügen und in das Verzeichnis vendor/ herunterzuladen.

composer require google/photos-library

Alternativ können Sie auch das Repository klonen oder ein komprimiertes Tarball-Paket herunterladen.

OAuth2-Anmeldedaten für PHP einrichten

Diese Clientbibliothek funktioniert mit der Google Auth-Bibliothek für PHP. Weitere Informationen finden Sie unter OAuth 2.0 mit der Google API-Clientbibliothek für PHP verwenden.

Verwenden Sie die von der Authentifizierungsbibliothek zurückgegebenen Anmeldedaten zur Authentifizierung, wenn Sie PhotosLibraryClient einrichten.

Beispiele ausprobieren

Probieren Sie den folgenden Code aus, um Ihren ersten API-Aufruf mithilfe der PHP-Clientbibliothek auszuführen.

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;
}

Auf GitHub gibt es weitere Beispiele zum Ausprobieren.