시작하기

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

개발자는 Google Ad Manager API를 사용하여 인벤토리를 관리하고 주문을 생성하며 보고서를 가져오는 등의 작업을 할 수 있습니다.

Ad Manager API는 SOAP를 사용합니다. 시작하는 데 도움을 주고자 자바, .NET, Python, PHP, Ruby용 클라이언트 라이브러리를 제공합니다. 첫 번째 API 요청을 하려면 아래 단계를 따르세요.

Ad Manager 네트워크에 액세스하기

아직 계정이 없다면 Ad Manager 계정에 가입하세요. 별도의 환경에서 API를 테스트하려면 테스트 네트워크를 만들면 됩니다. 테스트용 애드센스 계정은 필요하지 않습니다.

네트워크 코드를 기록해 둡니다. 네트워크에 로그인되어 있을 때 URL에서 확인할 수 있습니다. 예를 들어 https://admanager.google.com/1234#home URL에서 1234는 네트워크 코드입니다.

사용자 인증 정보 만들기

OAuth2를 사용하여 모든 Ad Manager API 요청을 인증해야 합니다. 아래 단계에서는 자체 Ad Manager 데이터에 액세스하는 간단한 사용 사례를 다룹니다. 자세한 내용 및 기타 옵션은 인증을 참조하세요.

  1. Google API 콘솔 사용자 인증 정보 페이지를 엽니다.
  2. 프로젝트 메뉴에서 프로젝트 만들기를 선택하고 프로젝트 이름을 입력한 후 필요한 경우 제공된 프로젝트 ID를 수정합니다. 만들기를 클릭합니다.
  3. 사용자 인증 정보 페이지에서 사용자 인증 정보 만들기를 선택한 후 서비스 계정 키를 선택합니다.
  4. 새 서비스 계정을 선택하고 키 유형으로 JSON을 선택합니다.
  5. 만들기를 클릭하여 비공개 키가 포함된 파일을 다운로드합니다.

Ad Manager 네트워크 구성하기

  1. Google Ad Manager에 로그인합니다.
  2. 사이드바에서 관리 > 전체 설정을 클릭합니다.
  3. 일반 설정 > API 액세스에서 슬라이더를 클릭하여 사용 설정합니다.
  4. 페이지 하단의 저장 버튼을 클릭합니다.

클라이언트 설정하기

Ad Manager 클라이언트 라이브러리 중 하나를 다운로드합니다. 라이브러리는 애플리케이션을 더 쉽고 빠르게 개발할 수 있는 래퍼 함수와 기능을 제공합니다.

아래 탭에서는 클라이언트 라이브러리가 있는 각 언어로 코딩을 위한 빠른 시작을 제공합니다.

자바

다음은 자바 클라이언트 라이브러리 사용 방법을 보여주는 기본적인 예입니다. 사용 정보에 대한 자세한 내용은 클라이언트 라이브러리 배포의 README 파일을 참조하세요.

  1. 사용자 인증 정보 설정

    셸에서 다음 명령어를 실행합니다.

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/master/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
    ~/ads.properties 파일을 열고 다음 필드를 채웁니다.
    [...]
    api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE
    api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE
    api.admanager.networkCode=INSERT_NETWORK_CODE_HERE
    [...]
  2. 종속 항목 지정

    pom.xml 파일을 수정하고 dependencies 태그에 다음을 추가합니다. GitHub에서 최신 버전 번호를 확인할 수 있습니다.

    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>ads-lib</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>dfp-axis</artifactId>
      <version>RELEASE</version>
    </dependency>

  3. 코드를 작성하고 요청하세요.

    import com.google.api.ads.common.lib.auth.OfflineCredentials;
    import com.google.api.ads.common.lib.auth.OfflineCredentials.Api;
    import com.google.api.ads.admanager.axis.factory.AdManagerServices;
    import com.google.api.ads.admanager.axis.v202211.Network;
    import com.google.api.ads.admanager.axis.v202211.NetworkServiceInterface;
    import com.google.api.ads.admanager.lib.client.AdManagerSession;
    import com.google.api.client.auth.oauth2.Credential;
    
    public class App {
      public static void main(String[] args) throws Exception {
        Credential oAuth2Credential = new OfflineCredentials.Builder()
            .forApi(Api.AD_MANAGER)
            .fromFile()
            .build()
            .generateCredential();
    
        // Construct an AdManagerSession.
        AdManagerSession session = new AdManagerSession.Builder()
            .fromFile()
            .withOAuth2Credential(oAuth2Credential)
            .build();
    
        // Construct a Google Ad Manager service factory, which can only be used once per
        // thread, but should be reused as much as possible.
        AdManagerServices adManagerServices = new AdManagerServices();
    
        // Retrieve the appropriate service
        NetworkServiceInterface networkService = adManagerServices.get(session,
            NetworkServiceInterface.class);
    
        // Make a request
        Network network = networkService.getCurrentNetwork();
    
        System.out.printf("Current network has network code '%s' and display" +
            " name '%s'.%n", network.getNetworkCode(), network.getDisplayName());
      }
    }
    

Python

다음은 Python 클라이언트 라이브러리 사용 방법을 보여주는 기본적인 예입니다. Python 클라이언트 라이브러리는 Python v3.6 이상을 지원합니다. 사용 방법에 대한 자세한 내용은 클라이언트 라이브러리 배포의 README 파일을 참조하세요.

  1. 라이브러리를 설치하고 사용자 인증 정보를 설정합니다.

    셸에서 다음 명령어를 실행합니다.

    pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/master/googleads.yaml \
         -o ~/googleads.yaml
    
  2. ~/googleads.yaml 파일을 설정합니다.

    다음 필드를 작성합니다.

    ad_manager:
      application_name: INSERT_APPLICATION_NAME_HERE
      network_code: INSERT_NETWORK_CODE_HERE
      path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
    
  3. 코드를 실행하고 요청합니다.
    # Import the library.
    from googleads import ad_manager
    
    # Initialize a client object, by default uses the credentials in ~/googleads.yaml.
    client = ad_manager.AdManagerClient.LoadFromStorage()
    
    # Initialize a service.
    network_service = client.GetService('NetworkService', version='v202211')
    
    # Make a request.
    current_network = network_service.getCurrentNetwork()
    
    print("Current network has network code '%s' and display name '%s'." %
            (current_network['networkCode'], current_network['displayName']))
    

PHP

다음은 PHP 클라이언트 라이브러리를 사용하는 방법을 보여주는 기본적인 예입니다.

  1. 라이브러리를 설치하고 사용자 인증 정보를 설정합니다.

    셸에서 다음 명령어를 실행하여 클라이언트 라이브러리를 설치하고 adsapi_php.ini 파일을 홈 디렉터리에 다운로드합니다.

    composer require googleads/googleads-php-lib
    curl https://raw.githubusercontent.com/googleads/googleads-php-lib/master/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
  2. ~/adsapi_php.ini 파일을 설정합니다.

    다음 필드를 작성합니다.

    [AD_MANAGER]
    networkCode = "INSERT_NETWORK_CODE_HERE"
    applicationName = "INSERT_APPLICATION_NAME_HERE"
    
    [OAUTH2]
    jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
    scopes = "https://www.googleapis.com/auth/dfp"
    
  3. 코드를 실행하고 요청을 실행합니다.
    <?php
    require 'vendor/autoload.php';
    use Google\AdsApi\AdManager\AdManagerSession;
    use Google\AdsApi\AdManager\AdManagerSessionBuilder;
    use Google\AdsApi\AdManager\v202211\ApiException;
    use Google\AdsApi\AdManager\v202211\ServiceFactory;
    use Google\AdsApi\Common\OAuth2TokenBuilder;
    
    // Generate a refreshable OAuth2 credential for authentication.
    $oAuth2Credential = (new OAuth2TokenBuilder())
        ->fromFile()
        ->build();
    // Construct an API session configured from a properties file and the OAuth2
    // credentials above.
    $session = (new AdManagerSessionBuilder())
        ->fromFile()
        ->withOAuth2Credential($oAuth2Credential)
        ->build();
    
    // Get a service.
    $serviceFactory = new ServiceFactory();
    $networkService = $serviceFactory->createNetworkService($session);
    
    // Make a request
    $network = $networkService->getCurrentNetwork();
    printf(
        "Network with code %d and display name '%s' was found.\n",
        $network->getNetworkCode(),
        $network->getDisplayName()
    );
    

.NET

다음은 .NET 클라이언트 라이브러리 사용 방법을 보여주는 기본적인 예입니다.

  1. 새 프로젝트 생성

    Visual Studio를 열고 새 프로젝트 (예: 콘솔 애플리케이션)를 만듭니다.

  2. 프로젝트에 필수 라이브러리 참조 추가

    Google.Dfp에 대한 nuget 종속 항목을 추가합니다.

  3. App.config 설정

    프로젝트 디렉터리에 src\App.config를 복사하여 프로젝트에 추가합니다. 애플리케이션에 자체 App.config가 있는 경우 다음 노드를 App.config에 복사할 수 있습니다.

    • 구성/AdManagerApi
    • configuration/configSections/section[name="AdManagerApi"]
    • configuration/system.net
  4. 사용자 인증 정보 설정

    App.config를 열고 다음 키를 수정합니다.

    <add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" />
    <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" />
    <add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
    <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
    

  5. 라이브러리에 전화 걸기

    다음 C# 코드 스니펫과 같이 라이브러리를 호출할 수 있습니다.

    AdManagerUser user = new AdManagerUser();
          using (InventoryService inventoryService = user.GetService<InventoryService>())
                {
                    // Create a statement to select ad units.
                    int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT;
                    StatementBuilder statementBuilder =
                        new StatementBuilder().OrderBy("id ASC").Limit(pageSize);
    
                    // Retrieve a small amount of ad units at a time, paging through until all
                    // ad units have been retrieved.
                    int totalResultSetSize = 0;
                    do
                    {
                        AdUnitPage page =
                            inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement());
    
                        // Print out some information for each ad unit.
                        if (page.results != null)
                        {
                            totalResultSetSize = page.totalResultSetSize;
                            int i = page.startIndex;
                            foreach (AdUnit adUnit in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++,
                                    adUnit.id, adUnit.name);
                            }
                        }
    
                        statementBuilder.IncreaseOffsetBy(pageSize);
                    } while (statementBuilder.GetOffset() < totalResultSetSize);
    
                    Console.WriteLine("Number of results found: {0}", totalResultSetSize);
                }
            

App.config에 사용자 인증 정보를 설정하지 않으려면 이 위키 문서에서 AdManagerUser 클래스를 사용하는 다른 방법을 참고하세요. .NET 클라이언트 라이브러리 사용에 관한 자세한 내용은 README를 참조하세요. 클라이언트 라이브러리 없이 .NET으로 개발하려면 NoClientLibrary 위키 문서를 참조하세요.

Ruby

다음은 Ruby 클라이언트 라이브러리 사용 방법을 보여주는 기본적인 예시입니다. Ruby 클라이언트 라이브러리에는 Ruby 2.1 이상이 필요합니다.

  1. Ruby gem을 설치하고 구성 파일을 가져옵니다.

    셸에서 다음 명령어를 실행합니다.

    gem install google-dfp-api
    curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/master/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
    

  2. 사용자 인증 정보 설정

    ~/ad_manager_api.yml 파일의 필수 필드를 채웁니다. 아직 OAuth2 키 파일이 없다면 단계를 따라 OAuth2 사용자 인증 정보를 생성해야 합니다.

    :authentication:
      :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE
      :application_name: INSERT_APPLICATION_NAME_HERE
      :network_code: INSERT_NETWORK_CODE_HERE
    
  3. 코드를 작성하고 요청하세요.
    # Import the library.
    require 'ad_manager_api'
    
    # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default).
    ad_manager = AdManagerApi::Api.new
    
    # Get a service instance.
    network_service = ad_manager.service(:NetworkService, :v202211)
    
    # Make a request.
    network = network_service.get_current_network()
    
    puts "The current network is %s (%d)." %
            [network[:display_name], network[:network_code]]
    

더 세부적으로 시작하는 단계는 Ruby 클라이언트 라이브러리와 함께 배포된 README 파일에서 확인할 수 있습니다. Ruby를 위한 전체 예시 라이브러리도 확인하세요.

다음 단계

클라이언트 라이브러리를 준비하여 실행하면 필요에 맞게 확장하도록 제공된 예시를 수정합니다.

API에 대한 자세한 내용은 참조 문서를 확인하세요.

도움이 필요하면 지원 페이지를 방문하세요.