OAuth 데스크톱 및 웹 애플리케이션 흐름

이 가이드에서는 자체 사용자 인증 정보와 데스크톱 흐름 또는 웹 흐름을 사용하여 API 액세스를 위해 OAuth2를 설정하는 방법을 설명합니다.

단일 계정의 OAuth2 사용자 인증 정보 생성

Google Ads API 계정을 호출하는 가장 쉬운 방법은

  1. API를 호출하려는 모든 계정을 단일 Google Ads 관리자 계정에 연결합니다.

  2. GenerateUserCredentials 예를 사용하여 관리자 계정에 액세스할 수 있는 사용자의 OAuth2 사용자 인증 정보를 생성합니다.

  3. OAuth2 사용자 인증 정보를 사용하여 Google Ads API로 관리해야 하는 모든 계정을 호출합니다.

이 단계는 OAuth2 사용자 인증 정보에 허용된 범위를 취소하거나 삭제하거나 변경해야 하는 경우가 아니라면 한 번만 수행하면 됩니다.

1단계 - OAuth2 사용자 인증 정보 만들기

  1. Google Ads API를 위한 Google API 콘솔 프로젝트 구성 단계를 따릅니다.

  2. 클라이언트 ID보안 비밀을 기록해 둔 다음 이 페이지로 돌아옵니다.

2단계 - 클라이언트 라이브러리 설정

  1. 터미널에서 OAuth2 클라이언트 ID 및 비밀번호를 입력하라는 메시지가 표시되는 GenerateUserCredentials 예를 실행합니다.

    이는 대화형 예시이므로 입력을 제공해야 합니다.

    dotnet run GenerateUserCredentials.csproj
    
  2. 예시에서는 OAuth2 클라이언트 ID보안 비밀을 제공하라는 메시지를 표시합니다. 1단계의 세부정보를 입력합니다.

  3. 이 예에서는 브라우저에서 자동으로 URL을 엽니다. 브라우저 세션에 로그인하지 않은 경우 웹페이지에 Google 계정에 로그인하라는 메시지가 표시됩니다. 이미 로그인한 경우 로그인 메시지를 건너뛰고 애플리케이션이 Google Ads 계정에 대신 액세스할 수 있도록 승인하라는 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 Ads 계정을 미리 모를 경우, 런타임에 로그인한 사용자의 사용자 인증 정보를 사용하여 런타임 시 계정을 찾을 수 있습니다. 현재 로그인한 사용자가 인증되고 런타임 시 OAuth2 사용자 인증 정보를 가져오는 예는 AuthenticateInAspNetCoreApplication를 참고하세요.