OAuth デスクトップおよびウェブ アプリケーションのフロー

このガイドでは、独自の認証情報とデスクトップ フローまたはウェブフローを使用して、API アクセスに OAuth2 を設定する方法について説明します。

1 つのアカウントの OAuth2 認証情報を生成する

Google Ads API アカウントを呼び出す最も簡単な方法は

  1. API を呼び出すすべてのアカウントを、1 つの Google 広告クライアント センター(MCC)アカウントの下にリンクします。

  2. GenerateUserCredentials の例を使用して、MCC アカウントにアクセスできるユーザーの OAuth2 認証情報を生成します。

  3. OAuth2 認証情報を使用して、Google Ads API を使って管理する必要があるすべてのアカウントを呼び出します。

この手順は、OAuth2 認証情報の許可されたスコープを取り消すか削除するか、または変更する必要がある場合を除き、1 回だけ行います。

ステップ 1 - OAuth2 認証情報を作成する

  1. 手順に沿って Google Ads API の Google API Console プロジェクトを設定します。

  2. クライアント IDシークレットをメモしてから、このページに戻ります。

ステップ 2 - クライアント ライブラリを設定する

  1. ターミナルで GenerateUserCredentials の例を実行します。これにより、OAuth2 クライアント ID とシークレットの入力を求められます。

    これはインタラクティブな例であり、入力が必要になります

    dotnet run GenerateUserCredentials.csproj
    
  2. この例では、OAuth2 クライアント IDシークレットを指定するように求められます。ステップ 1 の詳細を入力します。

  3. この例では、ブラウザで URL が自動的に開きます。ブラウザ セッションにログインしていない場合は、ウェブページで Google アカウントへのログインを求められます。すでにログインしている場合は、ログイン プロンプトがスキップされ、Google 広告アカウントへのアクセスをアプリケーションに許可するよう求める URL にリダイレクトされます。

    同意画面

  4. 承認が成功したことを示すメッセージが表示されます。

    更新トークンを取得しました。詳しい手順については、コンソールの出力をご覧ください。

  5. 例を実行していたコンソールに戻ります。サンプルを完了し、更新トークンといくつかの手順が表示されているはずです。その後、クライアント ライブラリを設定するために必要なプロパティが続きます。

    Copy the following content into your App.config file.
    
    <add key = 'OAuth2Mode' value = 'APPLICATION' />
    <add key = 'OAuth2ClientId' value = '******' />
    <add key = 'OAuth2ClientSecret' value = '******' />
    <add key = 'OAuth2RefreshToken' value = '******' />
    
    Make sure you also set the LOGIN_CUSTOMER_ID header. See
    https://developers.google.com/google-ads/api/docs/client-libs/dotnet/configuration#google_ads_api_settings
    to learn more.
    
    <add key = 'LoginCustomerId' value = 'INSERT_LOGIN_CUSTOMER_ID_HERE' />
    
    See https://developers.google.com/google-ads/api/docs/client-libs/dotnet/configuration
    for alternate configuration options.
    

インタラクティブ アプリケーション用の OAuth2 認証情報を生成する

API 呼び出しを行う Google 広告アカウントが事前にわからない場合は、実行時にそのセッションのログイン ユーザーの認証情報を使用してアカウントを見つけることができます。現在ログインしているユーザーが認証され、ランタイムに OAuth2 認証情報が取得される例については、AuthenticateInAspNetCoreApplication をご覧ください。