Client konfigurieren

Nachdem Sie OAuth 2.0-Anmeldedaten erstellt und eine Clientbibliothek installiert haben, können Sie die Display & Video 360 API verwenden. In der folgenden Kurzanleitung erfährst du, wie du deinen Client autorisierst, konfigurierst und deine erste Anfrage sendest.

Java

  1. Importieren Sie die erforderlichen Bibliotheken.

    import static java.nio.charset.StandardCharsets.UTF_8;
    import com.google.api.client.auth.oauth2.Credential;
    import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
    import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
    import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
    import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
    import com.google.api.client.googleapis.util.Utils;
    import com.google.api.services.displayvideo.v4.DisplayVideo;
    import com.google.api.services.displayvideo.v4.DisplayVideo.Advertisers;
    import com.google.api.services.displayvideo.v4.model.Advertiser;
    import com.google.api.services.displayvideo.v4.model.ListAdvertisersResponse;
    import java.io.Reader;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
  2. Lade die Datei mit den Clientschlüsseln und generiere Anmeldedaten für die Autorisierung.

    Wenn Sie diesen Schritt zum ersten Mal ausführen, werden Sie in Ihrem Browser aufgefordert, eine Autorisierungsanfrage zu akzeptieren. Bevor Sie die Einladung annehmen, müssen Sie mit einem Google-Konto angemeldet sein, das Zugriff auf Display & Video 360 hat. Ihre App wird autorisiert, im Namen des Kontos, in dem Sie aktuell angemeldet sind, auf Daten zuzugreifen. Weitere Informationen zu Nutzerberechtigungen in Display & Video 360 finden Sie in unserem Leitfaden Anfragen autorisieren.

    // Read client secrets file.
    GoogleClientSecrets clientSecrets;
    try (Reader reader = Files.newBufferedReader(Paths.get(path-to-client-secrets-file), UTF_8)) {
      clientSecrets = GoogleClientSecrets.load(Utils.getDefaultJsonFactory(), reader);
    }
    
    // Generate authorization credentials.
    // Set up the authorization code flow.
    GoogleAuthorizationCodeFlow flow =
        new GoogleAuthorizationCodeFlow.Builder(
            Utils.getDefaultTransport(),
            Utils.getDefaultJsonFactory(),
            clientSecrets,
            oauth-scopes)
        .build();
    
    Credential credential =
        new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
    
  3. Erstellen Sie einen autorisierten API-Client.

    // Create authorized API client.
    DisplayVideo service =
        new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("displayvideo-java-installed-app-sample")
            .build();
    
  4. Einen Vorgang ausführen

    // Perform an operation.
    // Retrieve and print the first ten advertisers under a partner.
    ListAdvertisersResponse response =
        service
            .advertisers()
            .list()
            .setPartnerId(partner-id)
            .setPageSize(10)
            .execute();
    if (response.getAdvertisers().size() > 0) {
      for (int i = 0; i < response.getAdvertisers().size(); i++) {
        System.out.printf(
            "ID: %s Display Name: %s%n",
            response.getAdvertisers().get(i).getAdvertiserId(),
            response.getAdvertisers().get(i).getDisplayName());
      }
    } else {
      System.out.print("No advertisers found.");
    }
    

Python

  1. Importieren Sie die erforderlichen Bibliotheken.

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient import discovery
    
  2. Lade die Datei mit den Clientschlüsseln und generiere Anmeldedaten für die Autorisierung.

    Wenn Sie diesen Schritt zum ersten Mal ausführen, werden Sie in Ihrem Browser aufgefordert, eine Autorisierungsanfrage zu akzeptieren. Bevor Sie die Einladung annehmen, müssen Sie mit einem Google-Konto angemeldet sein, das Zugriff auf Display & Video 360 hat. Ihre App wird autorisiert, im Namen des Kontos, in dem Sie aktuell angemeldet sind, auf Daten zuzugreifen. Weitere Informationen zu Nutzerberechtigungen in Display & Video 360 finden Sie in unserem Leitfaden Anfragen autorisieren.

    # Set up a flow object to create the credentials using the
    # client secrets file and OAuth scopes.
    credentials = InstalledAppFlow.from_client_secrets_file(
        path-to-client-secrets-file, oauth-scopes).run_local_server()
    
  3. Erstellen Sie einen autorisierten API-Client.

    # Build the discovery document URL.
    discovery_url = f'https://displayvideo.googleapis.com/$discovery/rest?version=v4'
    
    # Build the API service.
    service = discovery.build(
        'displayvideo',
        'v4',
        discoveryServiceUrl=discovery_url,
        credentials=credentials)
    
  4. Einen Vorgang ausführen

    # Build advertisers.list request.
    request = service.advertisers().list(
        partnerId=partner-id, pageSize='10')
    
    # Execute request.
    response = request.execute()
    
    # Print response.
    if len(response['advertisers']) > 0:
      for advertiser in response['advertisers']:
        print(f'ID: {advertiser["advertiserId"]} Display Name: {advertiser["displayName"]}')
    else:
      print('No advertisers found.')
    

PHP

In diesem Beispiel wird davon ausgegangen, dass Sie PHP mit einem integrierten Webserver ausführen und Ihre Anmeldedaten so konfiguriert haben, dass eine Weiterleitung zur entsprechenden Webseite erfolgt. Dieser Code in einer index.php-Datei kann beispielsweise mit dem folgenden Befehl und den Anmeldedaten ausgeführt werden, die so konfiguriert sind, dass nach der Authentifizierung eine Weiterleitung zu http://localhost:8000 erfolgt:

php -S localhost:8000 -t ./

  1. Lade den Google API PHP-Client herunter und installiere ihn.

    Wir empfehlen die Verwendung von Composer:

    composer require google/apiclient:^2.18.2 google/apiclient-services:=0.396.0

    Achten Sie nach der Installation darauf, den Autoloader anzugeben:

    require_once '/path/to/your-project/vendor/autoload.php';
    
  2. Erstellen Sie ein Google_Client-Objekt.

    $client = new Google_Client();
    
  3. Richte den Client ein, leite bei Bedarf zur Authentifizierungs-URL weiter und hole ein Zugriffstoken ab.

    Wenn Sie diesen Schritt zum ersten Mal ausführen, werden Sie in Ihrem Browser aufgefordert, eine Autorisierungsanfrage zu akzeptieren. Bevor Sie die Einladung annehmen, müssen Sie mit einem Google-Konto angemeldet sein, das Zugriff auf Display & Video 360 hat. Ihre App wird autorisiert, im Namen des Kontos, in dem Sie aktuell angemeldet sind, auf Daten zuzugreifen. Weitere Informationen zu Nutzerberechtigungen in Display & Video 360 finden Sie in unserem Leitfaden Anfragen autorisieren.

    // Set up the client.
    $client->setApplicationName('DV360 API PHP Samples');
    $client->addScope(oauth-scope);
    $client->setAccessType('offline');
    $client->setAuthConfigFile(path-to-client-secrets-file);
    
    // If the code is passed, authenticate. If not, redirect to authentication page.
    if (isset($_GET['code'])) {
      $client->authenticate($_GET['code']);
    } else {
      $authUrl = $client->createAuthUrl();
      header('Location: ' . $authUrl);
    }
    
    // Exchange authorization code for an access token.
    $accessToken = $client->getAccessToken();
    $client->setAccessToken($accessToken);
    
  4. Erstellen Sie einen Client für den Display & Video 360 API-Dienst.

    $service = new Google_Service_DisplayVideo($client);
    
  5. Einen Vorgang ausführen

    // Configure params for the advertisers.list request.
    $optParams = array('pageSize' => 10, 'partnerId' => partner-id);
    
    // Execute the request.
    $result = $service->advertisers->listAdvertisers($optParams);
    
    // Print the retrieved advertisers.
    if (!empty($result->getAdvertisers())) {
      print('<pre>');
      foreach ($result->getAdvertisers() as $advertiser) {
        printf('<p>ID: %s, Display Name: %s</p>', $advertiser->advertiserId, $advertiser->displayName);
      }
      print('</pre>');
    } else {
      print '<p>No advertisers found.</p>';
    }