配置客户端

创建 OAuth 2.0 凭据安装客户端库后,您便可以开始使用 Display & Video 360 API 了。 按照以下快速入门指南进行操作,可以了解如何授权、如何配置客户端,以及如何发出第一个请求。

Java

  1. 导入必要的库。

    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. 加载客户端密钥文件并生成授权凭据

    首次执行此步骤时,系统会在浏览器中提示您接受授权。接受之前,请务必使用可访问 Display & Video 360 的 Google 账号登录。您的应用将获得授权,能够代表当前登录的账号访问数据。如需详细了解 Display & Video 360 用户权限,请参阅我们的授权请求指南。

    // 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. 创建已获授权的 API 客户端

    // Create authorized API client. DisplayVideo service =     new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential)         .setApplicationName("displayvideo-java-installed-app-sample")         .build(); 
  4. 执行操作

    // 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. 导入必要的库。

    from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient import discovery 
  2. 加载客户端密钥文件并生成授权凭据

    首次执行此步骤时,系统会在浏览器中提示您接受授权。接受之前,请务必使用可访问 Display & Video 360 的 Google 账号登录。您的应用将获得授权,能够代表当前登录的账号访问数据。如需详细了解 Display & Video 360 用户权限,请参阅我们的授权请求指南。

    # 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. 创建已获授权的 API 客户端

    # 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. 执行操作

    # 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

此示例假定您使用内置 Web 服务器运行 PHP,并且已将凭据配置为重定向到相关网页。例如,您可以使用以下命令和配置为在身份验证后重定向到 http://localhost:8000 的凭据,运行 index.php 文件中的以下代码:

php -S localhost:8000 -t ./

  1. 下载并安装 Google API PHP 客户端。

    首选方法是使用 Composer

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

    安装完成后,请务必添加自动加载器:

    require_once '/path/to/your-project/vendor/autoload.php'; 
  2. 创建 Google_Client 对象。

    $client = new Google_Client(); 
  3. 设置客户端、根据需要重定向到身份验证网址,然后检索访问令牌。

    首次执行此步骤时,系统会在浏览器中提示您接受授权。接受之前,请务必使用可访问 Display & Video 360 的 Google 账号登录。您的应用将获得授权,能够代表当前登录的账号访问数据。如需详细了解 Display & Video 360 用户权限,请参阅我们的授权请求指南。

    // 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. 为 Display & Video 360 API 服务构建客户端。

    $service = new Google_Service_DisplayVideo($client); 
  5. 执行操作

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