.NET

Google は、Ad Manager API を操作するための .NET クライアント ライブラリを提供しています。NuGet でクライアント ライブラリを使用することをおすすめします。

まず、お好みの IDE で新しいプロジェクトを作成するか、既存のプロジェクトに依存関係を追加します。Google は、クライアント ライブラリ アーティファクトを Google.Ads.AdManager.V1 として NuGet リポジトリに公開します。

パッケージ リファレンス

<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />

.NET CLI

dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01

認証情報の構成

.NET クライアント ライブラリは、OAuth2 とアプリケーションのデフォルト認証情報(ADC)を使用して認証を行います。

ADC は、次の場所で認証情報を順番に検索します。

  1. GOOGLE_APPLICATION_CREDENTIALS 環境変数。
  2. Google Cloud CLI(gcloud CLI)で設定されたユーザー認証情報。
  3. Google Cloud で実行する場合は、Google Cloud リソースに接続されているサービス アカウント。

ADC 認証情報の作成と構成については、認証をご覧ください。

最初のリクエストを送信する

各サービスには、各 REST メソッドの同期メソッドと非同期メソッドの両方を含む ServiceClient オブジェクトがあります。次の例では、Network を同期的に読み取ります。すべてのエンティティは、エンティティのタイプと数値識別子で構成されるリソース名で識別されます。

    using Google.Ads.AdManager.V1;

    public sealed partial class GeneratedNetworkServiceClientSnippets
    {
        public void GetNetwork()
        {
            // Create client
            NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
            // Initialize request argument(s)
            string name = "networks/[NETWORK_CODE]";
            // Make the request
            Network response = networkServiceClient.GetNetwork(name);
        }
    }

他のメソッドとリソースの例については、GitHub リポジトリ googleapis/google-cloud-dotnet をご覧ください。

エラーを処理する

Ad Manager API のエラーはすべて、.NET クライアント ライブラリの Grpc.Core.RpcException 型です。

エラーには一意の request_id が含まれており、サポートに提供してトラブルシューティングのサポートを依頼できます。次の例では、HTTP ステータス、エラー メッセージ、request_id を抽出します。

using Google.Ads.AdManager.V1;
using Google.Api.Gax.Grpc;
using Google.Rpc;
using Grpc.Core;

try
{
    NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
    Network network = networkServiceClient.GetNetwork("networks/[NETWORK_CODE]");
}
catch(RpcException e)
{
    // HTTP Status code
    StatusCode statusCode = e.Status.StatusCode;
    // Error message
    string errorMessage = e.Status.Detail;
    // Unique request identifier.
    RequestInfo requestInfo = e.GetStatusDetail<RequestInfo>();
    string requestId = requestInfo?.RequestId ?? "Unexpected null request identifier";
}

リソース名を作成する

クライアント ライブラリには、ID からリソース名を構築するためのヘルパー クラスが用意されています。これらはサービス メソッドに直接渡すことができます。

//  Represents a resource name in the format:
//  "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);