重要
Java 11 以降を使用することをお勧めします。 サポートする Java の最小バージョンは 1.8 です。 1.8 を使用する場合は、依存関係から CXF を除外する必要があります。 このサンプル ファイルは Maven でビルドできます。
Java を使用して Bing Ads API アプリケーションの開発を開始するには、 提供されている例 から開始するか、 Web または デスクトップ アプリケーションのアプリケーション チュートリアルのいずれかに従います。
運用環境またはサンドボックスのいずれかで Microsoft Advertising にアクセスできるユーザー資格情報が必要です。 運用環境では、 運用環境の開発者トークンが必要です。 すべてのサンドボックス クライアントは、ユニバーサル サンドボックス開発者トークン ( BBD37VB98 など) を使用できます。 詳細については、「 Bing Ads API と サンドボックスの概要」を参照してください。
OAuth 経由で認証するには、アプリケーションを登録し、対応するクライアント識別子を取得する必要もあります。 Web アプリケーションを開発している場合は、クライアント シークレットとリダイレクト URI をメモする必要もあります。 本番環境でのアプリケーションの登録と認証コード付与フローの詳細については、「 OAuth を使用した認証 」および 「SDK を使用した認証」を参照してください。 本番環境では独自のアプリケーション ID (クライアント ID) を使用する必要がありますが、すべての Microsoft 広告のお客様は、サンドボックスで公開されている "チュートリアル サンプル アプリ" クライアント ID ( 000011111-aaaa-2222-bbbb-3333cccc4444 など) を使用できます。 詳細については、「 サンドボックス」を参照してください。
SDK のインストール
Bing Ads Java SDK は、 Maven リポジトリにリストされているライブラリに依存します。
Maven プロジェクトを作成し、以下に示すように microsoft.bingads Maven 成果物を含めると、追加の依存関係が自動的にインストールされます。 Maven プロジェクトを使用していない場合は、各依存関係の正しいバージョンを含める必要があります。 詳細については、「 チュートリアル: Java での Bing Ads API Web アプリケーション 」または 「チュートリアル: Java での Bing Ads API デスクトップ アプリケーションの 例」を参照してください。
<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 または デスクトップ アプリケーションのアプリケーション チュートリアルのいずれかに従うことができます。
サンドボックスの構成
サンドボックス環境を使用するには、プロジェクト ソースのルート ディレクトリ (例: ProjectName\src\bingads.properties) 内に 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.dump プロパティを true に設定します。
System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");
既定では、Bing Ads Java SDK は、ログの書き込みに Java の Simple Logging Facade に依存しているサービス呼び出しを Apache CXF を使用して行います。 ログに記録されたメッセージをコンソールに出力するために、 slf4j-simple 実装をアプリケーションの依存関係に追加できます。 例:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.12</version>
</dependency>
関連項目
Bing 広告 API クライアント ライブラリ
Bing 広告 API のコード例
Bing 広告 API Web サービス アドレス
サービス エラーと例外の処理
サンドボックス