OAuth 2.0 인증

모든 애드워즈 API 호출은 OAuth 2.0을 통해 승인되어야 합니다.

OAuth 2.0은 사용자를 대신하여 애플리케이션이 웹 서비스와 상호 작용 할 수 있도록 타사 애플리케이션에서 사용자에게 권한을 허용하는 개방형 표준입니다. 이로써 애드워즈 API 클라이언트 애플리케이션이 사용자의 애드워즈 계정에 사용자 이름이나 비밀번호를 처리하거나 저장하지 않아도 액세스할 수 있습니다.

OAuth 2.0의 작동 방식에 대해 자세히 알아보려면 동영상을 시청하시기 바랍니다.

OAuth 2.0 및 애드워즈 API를 이용하여 시작하기

OAuth 2.0을 클라이언트 라이브러리를 이용하여 사용하는 방법은 다음과 같습니다.

  1. 클라이언트 ID 및 클라이언트 비밀번호를 만듭니다.
  2. 클라이언트 라이브러리를 구성합니다.

클라이언트 ID 및 클라이언트 비밀번호 만들기

애드워즈 API의 권한을 허용하기 위해 OAuth 2.0을 사용하려면 먼저 클라이언트 ID와 클라이언트의 비밀번호를 다음과 같이 만들어야 합니다.

  1. Google Developers Console을 방문합니다.
  2. 프로젝트 만들기를 클릭하여 새 프로젝트를 만듭니다.

    새 프로젝트 만들기

  3. 프로젝트 이름(선택사항: 자신의 프로젝트 ID 선택)을 입력하고 만들기를 클릭합니다.

    새 프로젝트 대화상자 스크린샷

  4. 새로 생성된 프로젝트가 자동으로 열립니다. API 및 권한을 클릭하여 메뉴를 확장하고 자격증명을 클릭합니다.

    새 프로젝트 대화상자 스크린샷

  5. 새로운 클라이언트 ID 만들기를 클릭하여 새 클라이언트 ID와 클라이언트 비밀번호를 만듭니다.

    새 클라이언트 ID의 스크린샷 만들기

  6. OAuth 2.0을 애드워즈 API를 이용하여 사용할 때 일반적으로 사용되는 두 가지 애플리케이션이 있습니다. 애드워즈 API 클라이언트 애플리케이션에 따라 웹 애플리케이션 유형 또는 설치된 애플리케이션 유형 중 하나를 선택합니다.

    이 애플리케이션의 유형을 선택 판단 기준
    설치된 애플리케이션의 유형(권장)
    • 처음 시작한 경우
    • 예제 코드를 테스트하고 빠르게 시작하고자 하는 경우
    • 최상위 수준의 단일 MCC를 사용하여 애드워즈 계정을 모두 관리하는 경우
    웹 애플리케이션 유형
    • OAuth 2.0 웹 흐름을 통해 개별 애드워즈 계정의 사용자에게 권한을 요청하는 경우

  7. 등록을 완료하려면 클라이언트 ID 만들기를 클릭합니다.

    클라이언트 ID의 스크린샷 만들기

  8. 클라이언트 ID 및 클라이언트 비밀번호가 생성되어 표시됩니다.

    클라이언트 ID와 클라이언트 비밀번호 스크린샷

  9. 모든 필수 입력란이 작성되고 허용 화면에 저장되었는지 확인합니다.

    동의 화면 구성 스크린샷

클라이언트 라이브러리 구성 및 사용

OAuth 2.0 설치 애플리케이션의 흐름에 대해서 다음 단계를 따릅니다.

  1. 클라이언트 라이브러리의 구성 파일에 해당 클라이언트 ID와 클라이언트의 비밀번호를 입력합니다.

    Java

    ads.properties를 참조하세요.

    PHP

    auth.ini를 참조하세요.

    .NET

    App.config의 콘텐츠를 Web.config에 복사하여 붙여 넣습니다.

    Python

    이를 자신의 구성에 저장할 수 있습니다.

    PERL

    adwords.properties를 참조하세요.

    Ruby

    adwords_api.yml을 참조하세요.

  2. 클라이언트 라이브러리 유틸리티를 실행합니다.

    Java

    GetRefreshToken.java를 참조하세요.

    PHP

    GetRefreshToken.php를 참조하세요.

    .NET

    OAuth를 참조하세요.

    Python

    authentication을 참조하세요.

    PERL

    generate_offline_credentials.pl을 참조하세요.

    Ruby

    setup_oauth2.rb를 참조하세요.

  3. 이 유틸리티는 애플리케이션에 권한을 요청하는 Google의 동의 페이지로 연결됩니다.

    OAuth 2.0 동의 화면 스크린샷

  4. 애플리케이션에 권한을 부여하려면 승인을 클릭합니다.

  5. MCC 계정 사용자로 권한을 허용하면 Google은 웹페이지에 인증 코드를 제공하게 됩니다.

    OAuth 2.0 인증 코드 스크린샷

  6. 다시 클라이언트 라이브러리 유틸리티에 인증 코드를 복사하여 붙여 넣어야 합니다.

  7. 클라이언트 라이브러리 유틸리티에 인증 코드를 입력하면 새로고침 토큰을 출력할 것입니다.
  8. 클라이언트 라이브러리의 구성 파일에 오프라인 새로고침 토큰을 저장합니다.

다음 표는 다른 클라이언트 라이브러리에서 OAuth 2.0을 사용하는 방법에 대한 자세한 지침을 제공합니다.

OAuth 2.0 사용 가이드 OAuth 2.0 유틸리티 동영상
Java Java Java
PHP PHP PHP
.NET .NET
Python Python
PERL PERL
Ruby Ruby

기술 배경

클라이언트 라이브러리는 다음과 같은 사항을 자동으로 관리하므로 다음 내용은 기술적으로 어떤 일이 일어나는지에 대해 관심이 있는 경우에만 읽으시면 됩니다. 이 섹션은 OAuth 2.0 사양에 대해 잘 알고 Google의 API를 사용하여 OAuth 2.0을 사용하는 방법을 아는 고급 사용자를 위한 내용입니다.

범위

단일 액세스 토큰은 여러 API에 다양한 수준의 액세스를 허용할 수 있습니다. scope이라 불리는 다양한 매개변수는 자원 집합 및 액세스 토큰 허용 작업을 제어합니다. 액세스 토큰을 요청하는 동안 애플리케이션은 하나 이상의 값을 scope 매개 변수에 전송합니다.

애드워즈 API의 범위는 다음과 같습니다.

범위 의미
https://www.googleapis.com/auth/adwords 애드워즈 API에 대한 읽기 및 쓰기 액세스

오프라인 액세스

애드워즈 API 클라이언트 애플리케이션이 오프라인 액세스를 요청하는 것은 일반적입니다. 예를 들어, 사용자가 웹사이트를 물리적으로 온라인이 아닌 상태에서 웹사이트를 탐색하는 경우 애​​드워즈 API 클라이언트 애플리케이션은 일괄 작업을 실행하고자 할 수 있습니다.

웹 애플리케이션의 유형에 대한 오프라인 액세스를 요청하려면 offlineaccess_type 매개 변수를 반드시 설정해야 합니다. 추가 정보는 Google의 OAuth 2.0 가이드에서 찾을 수 있습니다.

설치된 애플리케이션 유형에 대한 오프라인 액세스는 기본적으로 사용할 수 있으므로 오프라인 액세스를 명시적으로 요청할 필요가 없습니다.

HTTP 요청 헤더

애드워즈 API 서버에 대한 모든 HTTP 헤더의 요청은 이 형식에서 액세스 토큰을 포함해야 합니다.

Authorization: Bearer THE_ACCESS_TOKEN

예:

POST … HTTP/1.1
Host: …
Authorization: Bearer 1/fFAGRNJru1FTz70BzhT3Zg
Content-Type: text/xml;charset=UTF-8
Content-Length: …

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope">
  …
</soap:Envelope>

액세스 및 새로고침 토큰

대부분 애드워즈 API 사용의 경우 나중 사용을 위해 새로고침 토큰을 안전하게 저장해야 합니다. 액세스 및 새로고침 토큰을 요청하는 방법에 대한 자세한 내용은 다음과 같이 애플리케이션의 유형에 따라 다른 가이드를 읽으시기 바랍니다.

액세스 토큰 만료

액세스 토큰에는 expires_in 값에 기초한 만료 시간이 있으며 이 시간이 지나면 토큰은 더 이상 유효하지 않습니다. 새로고침 토큰을 사용하여 만료된 액세스 토큰을 새로 고칠 수 있습니다. 기본적으로 클라이언트 라이브러리는 자동으로 만료된 액세스 토큰을 새로 고칩니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.