Client konfigurieren

Wenn Sie OAuth 2.0-Anmeldedaten erstellt und eine Clientbibliothek installiert haben, können Sie die Display & Video 360 API verwenden. In der folgenden Kurzanleitung erfahren Sie, wie Sie Ihren Client autorisieren, konfigurieren und Ihre erste Anfrage stellen.

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.v3.DisplayVideo;
    import com.google.api.services.displayvideo.v3.DisplayVideo.Advertisers;
    import com.google.api.services.displayvideo.v3.model.Advertiser;
    import com.google.api.services.displayvideo.v3.model.ListAdvertisersResponse;
    import java.io.Reader;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
  2. Laden Sie die Datei mit den Clientschlüsseln und generieren Sie Anmeldedaten für die Autorisierung.

    Wenn Sie diesen Schritt zum ersten Mal ausführen, werden Sie aufgefordert, eine Autorisierungsaufforderung in Ihrem Browser zu akzeptieren. Bevor Sie zustimmen, müssen Sie mit einem Google-Konto angemeldet sein, mit dem Sie Zugriff auf Display & Video 360 haben. Ihre App darf dann im Namen des Kontos, in dem Sie gerade angemeldet sind, auf Daten zugreifen. Weitere Informationen zu Display & Video 360-Nutzerberechtigungen finden Sie im 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. Autorisierten API-Client erstellen

    // Create authorized API client.
    DisplayVideo service =
        new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("displayvideo-java-installed-app-sample")
            .build();
    
  4. 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. Laden Sie die Datei mit den Clientschlüsseln und generieren Sie Anmeldedaten für die Autorisierung.

    Wenn Sie diesen Schritt zum ersten Mal ausführen, werden Sie aufgefordert, eine Autorisierungsaufforderung in Ihrem Browser zu akzeptieren. Bevor Sie zustimmen, müssen Sie mit einem Google-Konto angemeldet sein, mit dem Sie Zugriff auf Display & Video 360 haben. Ihre App darf dann im Namen des Kontos, in dem Sie gerade angemeldet sind, auf Daten zugreifen. Weitere Informationen zu Display & Video 360-Nutzerberechtigungen finden Sie im 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. Autorisierten API-Client erstellen

    # Build the discovery document URL.
    discovery_url = f'https://displayvideo.googleapis.com/$discovery/rest?version=v3'
    
    # Build the API service.
    service = discovery.build(
        'displayvideo',
        'v3',
        discoveryServiceUrl=discovery_url,
        credentials=credentials)
    
  4. 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 die Nutzer an die entsprechende Webseite weitergeleitet werden. Dieser Code kann beispielsweise in einer index.php-Datei mit dem folgenden Befehl und den folgenden Anmeldedaten ausgeführt werden, die so konfiguriert sind, dass sie nach der Authentifizierung zu http://localhost:8000 weitergeleitet werden:

php -S localhost:8000 -t ./

  1. Laden Sie den PHP-Client für die Google API herunter und installieren Sie ihn.

    Wir empfehlen die Verwendung von Composer:

    composer require google/apiclient:^2.15.1 google/apiclient-services:=0.332.0
    

    Fügen Sie nach der Installation unbedingt den Autoloader hinzu:

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

    $client = new Google_Client();
    
  3. Richten Sie den Client ein, leiten Sie bei Bedarf zur Authentifizierungs-URL weiter und rufen Sie ein Zugriffstoken ab.

    Wenn Sie diesen Schritt zum ersten Mal ausführen, werden Sie aufgefordert, eine Autorisierungsaufforderung in Ihrem Browser zu akzeptieren. Bevor Sie zustimmen, müssen Sie mit einem Google-Konto angemeldet sein, mit dem Sie Zugriff auf Display & Video 360 haben. Ihre App darf dann im Namen des Kontos, in dem Sie gerade angemeldet sind, auf Daten zugreifen. Weitere Informationen zu Display & Video 360-Nutzerberechtigungen finden Sie im 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. Client für den Display & Video 360 API-Dienst erstellen

    $service = new Google_Service_DisplayVideo($client);
    
  5. 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>';
    }