始める

Google Ad Manager API を使用すると、広告枠を管理するアプリを構築できます。 注文の作成、レポートの取得などが可能です。

Ad Manager API では SOAP が使用されています。ご利用開始にあたり、Google は Java、.NET、Python、PHP、Ruby 用のライブラリ

最初の API リクエストを行う手順は次のとおりです。

アド マネージャー ネットワークへのアクセス権を取得する

Google アド マネージャー アカウントをまだお持ちでない場合は、アド マネージャー 。また、 テスト ネットワークで API をテストする場合は、 構成する必要がありますテストに AdSense アカウントは必要ありません あります。

ネットワーク コードをメモしておきます。ログイン時に URL で確認可能 ネットワークに直接接続しますたとえば、URL https://admanager.google.com/1234#home1234 はネットワーク コードです。

認証情報を作成する

すべての Ad Manager API リクエストは、OAuth 2.0 を使用して認証する必要があります。手順 ご自身のアド マネージャー データにアクセスする場合のユースケースを以下で説明します。詳細情報 認証をご覧ください。

  1. Google API Console を開きます。 [認証情報] ページ

  2. プロジェクト メニューから [プロジェクトを作成] を選択し、プロジェクトの名前を入力します。 必要に応じてプロジェクト ID を編集します。[作成] をクリックします。

  3. [認証情報] ページで、[認証情報を作成] を選択し、 サービス アカウント キー

  4. [新しいサービス アカウント キーのタイプとして [JSON] を選択します。

  5. [Create] をクリックして、秘密鍵を含むファイルをダウンロードします。

アド マネージャー ネットワークを設定する

  1. Google 広告にログイン

  2. サイドバーで [管理] >全般設定

  3. [全般設定 >API アクセス] で、スライダーをクリックして [有効] にします。

  4. ページ下部にある [SAVE] ボタンをクリックします。

クライアントを設定する

アド マネージャー クライアント ライブラリの 1 つをダウンロードします。「 ライブラリには、ラッパー関数とラッパー機能があり、 アプリを開発できます。

以下のタブでは、各言語のコーディング例を紹介します。 クライアントライブラリがあります

Java

ここでは、簡単なサンプルに沿って Java クライアント ライブラリ。使用方法の詳細については、 README ダウンロードする必要があります。

  1. 認証情報を設定する

    シェルで次のコマンドを実行します。

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/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
    [...]
  2. 依存関係を指定する

    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>

  3. コードを記述してリクエストを行う

    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.v202408.Network;
    import com.google.api.ads.admanager.axis.v202408.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 をご覧ください。 ダウンロードする必要があります。

  1. ライブラリをインストールして認証情報を設定します。

    シェルで次のコマンドを実行します。

    pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \
         -o ~/googleads.yaml
    
  2. ~/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
    
  3. コードを実行してリクエストを送信します。
    # 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='v202408')
    
    # 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

次の基本的な例は、Terraform を使用して PHP クライアント ライブラリ

  1. ライブラリをインストールして認証情報を設定します。

    シェルで次のコマンドを実行して、クライアント ライブラリをインストールし、 adsapi_php.ini ファイルをホーム ディレクトリにコピーします。

    composer require googleads/googleads-php-lib
    curl https://raw.githubusercontent.com/googleads/googleads-php-lib/main/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
  2. ~/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"
    
  3. コードを実行してリクエストを行います。 <ph type="x-smartling-placeholder">
    <?php
    require 'vendor/autoload.php';
    use Google\AdsApi\AdManager\AdManagerSession;
    use Google\AdsApi\AdManager\AdManagerSessionBuilder;
    use Google\AdsApi\AdManager\v202408\ApiException;
    use Google\AdsApi\AdManager\v202408\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 クライアント ライブラリと ライブラリ

  1. 新しいプロジェクトを作成する

    Visual Studio を開き、新しいプロジェクト(コンソール アプリケーション)を作成します。

  2. 必要なライブラリ参照をプロジェクトに追加する

    Google.Dfp の nuget 依存関係を追加します。

  3. App.config を設定する

    src\App.config をプロジェクト ディレクトリにコピーして、プロジェクトに追加します。アプリケーションに独自の App.config がある場合は、次のノードを App.config にコピーできます。

    • configuration/AdManagerApi
    • configuration/configSections/section[name=&quot;AdManagerApi&quot;]
    • configuration/system.net
  4. 認証情報を設定する

    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" />
    

  5. ライブラリに通話を発信する

    次の 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 で認証情報を設定したくない場合は、 こちらの Wiki 記事をご覧ください を参照してください。.NET クライアント ライブラリの使用方法について詳しくは、 (README を参照) 。クライアント ライブラリを使わずに .NET で開発を行う場合は、 NoClientLibrary Wiki の記事をご覧ください。

Ruby

次の基本的な例は、Ruby クライアント ライブラリをご覧ください。Ruby クライアント ライブラリには Ruby 2.1 以降が必要です。

  1. Ruby gem をインストールして構成ファイルを取得します。

    シェルで次のコマンドを実行します。

    gem install google-dfp-api
    curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/main/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
    
  2. 認証情報を設定する

    ~/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
    
  3. コードを記述してリクエストを行う
    # 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, :v202408)
    
    # Make a request.
    network = network_service.get_current_network()
    
    puts "The current network is %s (%d)." %
            [network[:display_name], network[:network_code]]
    

開始手順の詳細については、README をご覧ください。 このファイルは、Ruby クライアント ライブラリと一緒に配布されます。また、こちらの詳細は サンプル ライブラリが用意されています。

次のステップ

クライアント ライブラリを稼働させたら、提供されている例を ニーズに合わせて拡張できます

リファレンス ドキュメントで詳細を確認する 説明します。

ご不明な点がございましたら、サポートページをご覧ください。