Bing Ads API での Java の使用を開始する

重要

Java 11 以降を使用することをお勧めします。 サポートされている Java の最小バージョンは 1.8 です。 1.8 を使用する場合は、依存関係から CXF を排除する必要があります。 このサンプル ファイルは Maven を使用してビルドできます。

Java を使用してBing Ads API アプリケーションの開発を開始するには、 提供されている例 から始めるか、 Web または デスクトップ アプリケーションのアプリケーション チュートリアルのいずれかに従います。

運用環境またはサンドボックス内の Microsoft Advertising へのアクセス権を持つユーザー資格情報が必要です。 運用環境では、 運用開発者トークンが必要です。 すべてのサンドボックス クライアントは、ユニバーサル サンドボックス開発者トークン ( BBD37VB98) を使用できます。 詳細については、「 Bing広告 APIサンドボックスの概要」を参照してください。

OAuth を使用して認証するには、アプリケーションを登録し、対応するクライアント識別子を取得する必要もあります。 また、Web アプリケーションを開発する場合は、クライアント シークレットとリダイレクト URI もメモする必要があります。 運用環境でのアプリケーションの登録と承認コード付与フローの詳細については、「 OAuth による認証 」と 「SDK による認証」を参照してください。 運用環境では独自のアプリケーション ID (クライアント ID) を使用する必要がありますが、すべての Microsoft Advertising のお客様は、サンドボックス内のパブリック "Tutorial Sample App" クライアント ID ( 4c0b021c-00c3-4508-838f-d3127e8167ff) を使用できます。 詳細については、「 サンドボックス」を参照してください。

SDK のインストール

Bing Ads Java SDK は、 Maven リポジトリに一覧表示されているライブラリによって異なります。

Maven プロジェクトを作成し、次に示すように microsoft.bingads Maven 成果物を含めると、追加の依存関係が自動的にインストールされます。 Maven プロジェクトを使用していない場合は、各依存関係の正しいバージョンを含める必要があります。 詳細については、「 チュートリアル: Bing Ads API Web アプリケーション in Java 」または「チュートリアル: java アプリケーションの Bing Ads API Desktop Application 」を参照してください。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  ...
  <dependencies>
    <dependency>
      <groupId>com.microsoft.bingads</groupId>
      <artifactId>microsoft.bingads</artifactId>
      <version>13.0.10</version>
    </dependency>
  </dependencies>
</project>

注:

バージョン 13.0.10 が例として含まれています。 最新の SDK 依存関係バージョンの詳細については、 Bing Ads Java SDK GitHub README.md を参照してください。

チュートリアル

Bing Ads Java SDK をインストールしたら、 Bing Ads API コードの例を参照するか、 GitHub から例をダウンロードするか、 Web または デスクトップ アプリケーションのアプリケーション チュートリアルのいずれかに従います。

サンドボックスの構成

サンドボックス環境を使用するには、プロジェクト ソース ルート ディレクトリ内に bingads.properties という名前の新しいテキスト ファイル (ProjectName\src\bingads.properties など) を作成し、次のテキストを追加します。 bingads.properties ファイルの完全な内容を次に示します。 サンドボックス環境設定の形式が正しくないか見つからない場合、既定の環境は運用環境です。

environment=Sandbox

また、各 ServiceClient の環境を次のように個別に設定することもできます。

CustomerService = new ServiceClient<ICustomerManagementService>(
    authorizationData,
    ApiEnvironment.SANDBOX,
    ICustomerManagementService.class
);

ServiceClient 環境をグローバルまたは個別に設定する場合でも、個別に OAuth 環境をサンドボックスに設定する必要もあります。

final OAuthDesktopMobileAuthCodeGrant oAuthDesktopMobileAuthCodeGrant = new OAuthDesktopMobileAuthCodeGrant(
    ClientId, 
    ApiEnvironment.SANDBOX
);

クライアント シークレットとカスタム リダイレクト URI を持つ Web アプリケーションでは、次のように OAuthWebAuthCodeGrant を使用する必要があります。

OAuthWebAuthCodeGrant oAuthWebAuthCodeGrant = new OAuthWebAuthCodeGrant(
    ClientId, 
    ClientSecret, 
    new URL(RedirectUri),
    ApiEnvironment.SANDBOX
);

コンソールで要求ヘッダーと応答ヘッダーをログに記録します。 TrackingId は応答ヘッダーに含まれています。

MessageHandler.getInstance().setTraceOn(true);

HTTP クライアントのカスタマイズ

ほとんどのアプリケーションでは、Apache CXF JAX-RS クライアントに依存する Bing Ads Java SDK で既定の HTTP クライアント実装を使用することをお勧めします。 HTTP クライアントをカスタマイズして、別の JAX-RS 実装を使用する場合の圧縮の有効化、HTTP タイムアウト、プロキシ構成、またはその他の設定の変更などの機能を構成できます。

これを行うには、サービス呼び出しを行う前にカスタム HttpClientProvider オブジェクトを作成し、 に GlobalSettings.setHttpClientProvider() 渡します。 例:

GlobalSettings.setHttpClientProvider(new HttpClientProvider() 
{ 
    @Override 
    protected ClientBuilder configureClientBuilder(ClientBuilder clientBuilder) { 
        return super.configureClientBuilder(clientBuilder) 
            // override default connect timeout 
            .connectTimeout(90, TimeUnit.SECONDS)
            // override default read timeout
            .readTimeout(5, TimeUnit.MINUTES) 
            // enable compression (if using Jersey client)
            .register(org.glassfish.jersey.message.GZipEncoder.class)
            .register(org.glassfish.jersey.client.filter.EncodingFilter.class);
    }
}); 

サービス呼び出しのログ記録

要求メッセージと応答メッセージのログ記録を有効にするには、 プロパティを com.sun.xml.ws.transport.http.client.HttpTransportPipe.dumptrue設定します。

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");

既定では、Bing Ads Java SDK は Apache CXF を使用してサービス呼び出しを行います。これは、ログを書き込む ための単純なログ Facade for Java に依存しています。 ログに記録されたメッセージをコンソールに出力するには、実装をアプリケーションの slf4j-simple 依存関係に追加します。 例:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>2.0.12</version> 
</dependency> 

関連項目

Bing Ads API クライアント ライブラリ
Bing Ads API のコード例
Bing 広告 API Web サービス アドレス
サービス エラーと例外の処理
サンドボックス