デベロッパーは、Google Ad Manager API を使用して、広告枠の管理、オーダーの作成、レポートの取得などを行うアプリケーションを作成できます。
アド マネージャー API では SOAP を使用します。スムーズに利用を開始できるよう、Java、.NET、Python、PHP、Ruby 向けのクライアント ライブラリが用意されています。最初の API リクエストを作成する手順は次のとおりです。
アド マネージャー ネットワークにアクセスする
まだお持ちでない場合は、アド マネージャー アカウントをお申し込みください。別の環境で API をテストする場合は、テスト ネットワークを作成することもできます。なお、テスト目的で AdSense アカウントは必要ありません。
ネットワーク コードをメモしておきます。これは、ネットワークにログインしたときに URL で確認できます。たとえば、https://admanager.google.com/1234#home
の場合、1234
はネットワーク コードです。
認証情報を作成する
すべての Ad Manager API リクエストを OAuth2 で認証する必要があります。以下の手順では、独自のアド マネージャー データにアクセスする単純なユースケースについて説明します。詳細とその他のオプションについては、認証をご覧ください。
- Google API Console の認証情報ページを開きます。
- プロジェクト メニューから [プロジェクトを作成] を選択し、プロジェクトの名前を入力し、必要に応じて指定されたプロジェクト ID を編集します。[作成] をクリックします。
- 認証情報のページで [認証情報を作成] を選択し、[サービス アカウント キー] を選択します。
- [新しいサービス アカウント] を選択し、キーのタイプとして [JSON] を選択します。
- [作成] をクリックして、秘密鍵を含むファイルをダウンロードします。
アド マネージャー ネットワークを設定する
- Google アド マネージャーにログインします。
- サイドバーで [管理者] > [全般設定] をクリックします。
- [全般設定] > [API アクセス] で、[有効] のスライダーをクリックします。
- ページ下部にある [SAVE] ボタンをクリックします。
クライアントを設定する
アド マネージャーのクライアント ライブラリをダウンロードします。ライブラリには、アプリの開発を簡単かつ迅速にするためのラッパー関数と機能があります。
以下のタブには、クライアント ライブラリがある各言語のコーディングのクイックスタートが示されています。
Java
Java クライアント ライブラリの使用方法を示す簡単な例を以下に紹介します。使用方法の詳細については、クライアント ライブラリディストリビューションの README ファイルをご覧ください。
- 認証情報を設定する
シェルで次のコマンドを実行します。
curl https://raw.githubusercontent.com/googleads/googleads-java-lib/master/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
~/ads.properties
ファイルを開き、次のフィールドに入力します。[...] api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE api.admanager.networkCode=INSERT_NETWORK_CODE_HERE [...]
-
依存関係を指定する
pom.xml
ファイルを編集して、dependencies
タグに以下を追加します。最新のバージョン番号は GitHub で確認できます。<dependency> <groupId>com.google.api-ads</groupId> <artifactId>ads-lib</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>com.google.api-ads</groupId> <artifactId>dfp-axis</artifactId> <version>RELEASE</version> </dependency>
-
コードを記述してリクエストを行います。
import com.google.api.ads.common.lib.auth.OfflineCredentials; import com.google.api.ads.common.lib.auth.OfflineCredentials.Api; import com.google.api.ads.admanager.axis.factory.AdManagerServices; import com.google.api.ads.admanager.axis.v202211.Network; import com.google.api.ads.admanager.axis.v202211.NetworkServiceInterface; import com.google.api.ads.admanager.lib.client.AdManagerSession; import com.google.api.client.auth.oauth2.Credential; public class App { public static void main(String[] args) throws Exception { Credential oAuth2Credential = new OfflineCredentials.Builder() .forApi(Api.AD_MANAGER) .fromFile() .build() .generateCredential(); // Construct an AdManagerSession. AdManagerSession session = new AdManagerSession.Builder() .fromFile() .withOAuth2Credential(oAuth2Credential) .build(); // Construct a Google Ad Manager service factory, which can only be used once per // thread, but should be reused as much as possible. AdManagerServices adManagerServices = new AdManagerServices(); // Retrieve the appropriate service NetworkServiceInterface networkService = adManagerServices.get(session, NetworkServiceInterface.class); // Make a request Network network = networkService.getCurrentNetwork(); System.out.printf("Current network has network code '%s' and display" + " name '%s'.%n", network.getNetworkCode(), network.getDisplayName()); } }
Python
Python クライアント ライブラリの使い方を示す簡単な例を示します。Python クライアント ライブラリは Python v3.6 以降をサポートしています。使用方法の詳細については、クライアント ライブラリ配布物の README ファイルを参照してください。
- ライブラリをインストールして認証情報を設定します。
シェルで次のコマンドを実行します。
pip install googleads curl https://raw.githubusercontent.com/googleads/googleads-python-lib/master/googleads.yaml \ -o ~/googleads.yaml
~/googleads.yaml
ファイルを設定します。次のフィールドに値を入力します。
ad_manager: application_name: INSERT_APPLICATION_NAME_HERE network_code: INSERT_NETWORK_CODE_HERE path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
-
コードを実行してリクエストを行います。
# Import the library. from googleads import ad_manager # Initialize a client object, by default uses the credentials in ~/googleads.yaml. client = ad_manager.AdManagerClient.LoadFromStorage() # Initialize a service. network_service = client.GetService('NetworkService', version='v202211') # Make a request. current_network = network_service.getCurrentNetwork() print("Current network has network code '%s' and display name '%s'." % (current_network['networkCode'], current_network['displayName']))
PHP
PHP クライアント ライブラリの使い方を示す簡単な例を以下に紹介します。
-
ライブラリをインストールして認証情報を設定します。
シェルで次のコマンドを実行して、クライアント ライブラリをインストールし、adsapi_php.ini ファイルをホーム ディレクトリにダウンロードします。
composer require googleads/googleads-php-lib curl https://raw.githubusercontent.com/googleads/googleads-php-lib/master/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
-
~/adsapi_php.ini
ファイルを設定します。次のフィールドに値を入力します。
[AD_MANAGER] networkCode = "INSERT_NETWORK_CODE_HERE" applicationName = "INSERT_APPLICATION_NAME_HERE" [OAUTH2] jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE" scopes = "https://www.googleapis.com/auth/dfp"
-
コードを実行してリクエストを行います。
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202211\ApiException; use Google\AdsApi\AdManager\v202211\ServiceFactory; use Google\AdsApi\Common\OAuth2TokenBuilder; // Generate a refreshable OAuth2 credential for authentication. $oAuth2Credential = (new OAuth2TokenBuilder()) ->fromFile() ->build(); // Construct an API session configured from a properties file and the OAuth2 // credentials above. $session = (new AdManagerSessionBuilder()) ->fromFile() ->withOAuth2Credential($oAuth2Credential) ->build(); // Get a service. $serviceFactory = new ServiceFactory(); $networkService = $serviceFactory->createNetworkService($session); // Make a request $network = $networkService->getCurrentNetwork(); printf( "Network with code %d and display name '%s' was found.\n", $network->getNetworkCode(), $network->getDisplayName() );
.NET
.NET クライアント ライブラリの使い方を示す簡単な例を示します。
- 新しいプロジェクトを作成する
Visual Studio を開き、新しいプロジェクト(コンソール アプリケーション)を作成します。
- 必要なライブラリ参照をプロジェクトに追加する
Google.Dfp の Nuget 依存関係を追加します。
- App.config を設定する
src\App.config をプロジェクト ディレクトリにコピーし、プロジェクトに追加します。アプリケーションに独自の App.config がある場合は、次のノードを App.config にコピーできます。
- 構成/AdManagerApi
- Configuration/configSections/section[名前="AdManagerApi"]
- configuration/system.net
- 認証情報を設定する
App.config を開いて次のキーを編集します。
<add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" /> <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" /> <add key="OAuth2Mode" value="SERVICE_ACCOUNT" /> <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
- ライブラリを呼び出す
このライブラリは、次の C# コード スニペットのように呼び出すことができます。
AdManagerUser user = new AdManagerUser(); using (InventoryService inventoryService = user.GetService<InventoryService>()) { // Create a statement to select ad units. int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT; StatementBuilder statementBuilder = new StatementBuilder().OrderBy("id ASC").Limit(pageSize); // Retrieve a small amount of ad units at a time, paging through until all // ad units have been retrieved. int totalResultSetSize = 0; do { AdUnitPage page = inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement()); // Print out some information for each ad unit. if (page.results != null) { totalResultSetSize = page.totalResultSetSize; int i = page.startIndex; foreach (AdUnit adUnit in page.results) { Console.WriteLine( "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++, adUnit.id, adUnit.name); } } statementBuilder.IncreaseOffsetBy(pageSize); } while (statementBuilder.GetOffset() < totalResultSetSize); Console.WriteLine("Number of results found: {0}", totalResultSetSize); }
App.config で認証情報を設定しない場合は、AdManagerUser クラスを使用する別の方法についてこちらの Wiki 記事をご覧ください。.NET クライアント ライブラリの使用方法について詳しくは、README をご覧ください。クライアント ライブラリを使用せずに .NET で開発する場合は、NoClientLibrary の Wiki 記事をご覧ください。
Ruby
Ruby クライアント ライブラリの使い方を示す簡単な例を示します。Ruby クライアント ライブラリには Ruby 2.1 以降が必要です。
-
Ruby gem をインストールし、構成ファイルを取得します。
シェルで次のコマンドを実行します。
gem install google-dfp-api
curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/master/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
-
認証情報を設定する
~/ad_manager_api.yml
ファイルの必須フィールドを入力します。OAuth2 キーファイルをまだお持ちでない場合は、OAuth2 認証情報を作成する手順を実施する必要があります。:authentication: :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE :application_name: INSERT_APPLICATION_NAME_HERE :network_code: INSERT_NETWORK_CODE_HERE
-
コードを作成してリクエストを行います。
# Import the library. require 'ad_manager_api' # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default). ad_manager = AdManagerApi::Api.new # Get a service instance. network_service = ad_manager.service(:NetworkService, :v202211) # Make a request. network = network_service.get_current_network() puts "The current network is %s (%d)." % [network[:display_name], network[:network_code]]
使用を開始する詳しい手順については、Ruby クライアント ライブラリとともに配布される README ファイルをご覧ください。また、Ruby のサンプル ライブラリ全体もご覧ください。
次のステップ
クライアント ライブラリを起動して動作したら、ニーズに合わせてサンプルを拡張します。
API について詳しくは、リファレンス ドキュメントをご覧ください。
サポートが必要な場合は、サポートページをご覧ください。