Display & Video 360 API で Google API クライアント ライブラリを使用することをおすすめします。クライアント ライブラリを使用すると、HTTP リクエストを手動で作成してレスポンスを解析する必要がなくなります。クライアント ライブラリを使用すると、言語の統合性が向上し、セキュリティが強化され、ユーザー認証が必要な呼び出しの作成がサポートされます。
Display & Video 360 API は HTTP と JSON をベースに構築されています。必要に応じて、標準の HTTP クライアントを使用してリクエストを送信し、レスポンスを解析することもできます。
クライアント ライブラリをインストールする
Google では、さまざまなプログラミング言語で Display & Video 360 API をサポートするクライアント ライブラリを提供しています。クライアント ライブラリの完全なリストについては、サンプルとライブラリのページをご覧ください。
ディスプレイ&ビデオ 360 API デベロッパー ガイドでは、次の言語のコード スニペットを提供しています。
ガイドのコード スニペットに加えて、これらの言語で完全な統合例を提供しています。これらのサンプルについては、ディスプレイ&ビデオ 360 API の例の GitHub リポジトリをご覧ください。
クライアントを設定する
OAuth 2.0 認証情報とインストール済みのクライアント ライブラリがあれば、ディスプレイ&ビデオ 360 API を使用する準備は完了です。クライアントを承認して構成する方法は次のとおりです。
Java
必要なライブラリをインポートします。
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;クライアントのシークレット ファイルを読み込み、認証情報を生成する
この手順を初めて行う際には、認証を求めるメッセージがブラウザに表示されます。承認する前に、ディスプレイ&ビデオ 360 へのアクセス権を持つ Google アカウントでログインしていることをご確認ください。現在ログインしているアカウントに代わって、アプリがデータにアクセスすることが認証されます。詳しくは、ユーザー権限のコンセプト ガイドをご覧ください。
// 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");認証済み API クライアントを作成します。
// Create authorized API client. DisplayVideo service = new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential) .setApplicationName("displayvideo-java-installed-app-sample") .build();
Python
必要なライブラリをインポートします。
from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient import discoveryクライアントのシークレット ファイルを読み込み、認証情報を生成する
この手順を初めて行う際には、認証を求めるメッセージがブラウザに表示されます。承認する前に、ディスプレイ&ビデオ 360 へのアクセス権を持つ Google アカウントでログインしていることをご確認ください。現在ログインしているアカウントに代わって、アプリがデータにアクセスすることが認証されます。詳しくは、ユーザー権限のコンセプト ガイドをご覧ください。
# 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()認証済み 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)
PHP
このサンプルでは、組み込みのウェブサーバーで PHP を実行し、関連するウェブページにリダイレクトするように認証情報を構成していることを前提としています。たとえば、index.php ファイル内の次のコードは、次のコマンドと、認証後に http://localhost:8000 にリダイレクトするように構成された認証情報を使用して実行できます。
php -S localhost:8000 -t ./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';Google_Client オブジェクトを作成します。
$client = new Google_Client();クライアントを設定し、必要に応じて認証 URL にリダイレクトして、アクセス トークンを取得します。
この手順を初めて行う際には、認証を求めるメッセージがブラウザに表示されます。承認する前に、ディスプレイ&ビデオ 360 へのアクセス権を持つ Google アカウントでログインしていることをご確認ください。現在ログインしているアカウントに代わって、アプリがデータにアクセスすることが認証されます。詳しくは、ユーザー権限のコンセプト ガイドをご覧ください。
// 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);ディスプレイ&ビデオ 360 API サービスのクライアントを構築します。
$service = new Google_Service_DisplayVideo($client);