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 をご覧ください。