시작하기

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

시작하는 데 도움이 되도록 Java, .NET, Python, PHP, Ruby용 클라이언트 라이브러리를 제공합니다.

첫 번째 API 요청을 하려면 다음 단계를 따르세요.

Ad Manager 네트워크에 대한 액세스 권한 얻기

아직 계정이 없으면 Ad Manager 계정에 가입합니다. 별도의 환경에서 API를 테스트하려면 테스트 네트워크를 만들 수도 있습니다. 테스트 목적으로는 애드센스 계정이 필요하지 않습니다.

네트워크 코드를 적어둡니다. 네트워크에 로그인하면 URL에서 확인할 수 있습니다. 예를 들어 https://admanager.google.com/1234#home URL에서 1234이 네트워크 코드입니다.

인증 사용자 인증 정보 만들기

OAuth 2.0을 사용하여 모든 Ad Manager SOAP API 요청을 인증해야 합니다. 다음 단계에서는 자체 Ad Manager 데이터에 액세스하는 사용 사례를 다룹니다. 자세한 내용과 기타 옵션은 인증을 참고하세요.

  1. Google API 콘솔 사용자 인증 정보 페이지를 엽니다.

  2. 프로젝트 메뉴에서 프로젝트 만들기를 선택하고 프로젝트 이름을 입력한 후 원하는 경우 제공된 프로젝트 ID를 수정합니다. 만들기를 클릭합니다.

  3. '사용자 인증 정보' 페이지에서 사용자 인증 정보 만들기를 선택한 다음 서비스 계정 키를 선택합니다.

  4. 새 서비스 계정을 선택하고 키 유형으로 JSON을 선택합니다.

  5. 만들기를 클릭하여 비공개 키가 포함된 파일을 다운로드합니다.

Ad Manager 네트워크 구성

  1. Google Ad Manager에 로그인합니다.

  2. 사이드바에서 관리 > 전체 설정을 클릭합니다.

  3. 일반 설정 > API 액세스에서 슬라이더를 클릭하여 사용 설정으로 변경합니다.

  4. 페이지 하단에서 저장 버튼을 클릭합니다.

클라이언트 설정

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

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

자바

다음은 Java 클라이언트 라이브러리를 사용하는 방법을 보여주는 기본 예시입니다. 자세한 사용 정보는 클라이언트 라이브러리 배포의 README 파일을 참고하세요.

  1. 사용자 인증 정보 설정

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

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/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.v202608.Network;
    import com.google.api.ads.admanager.axis.v202608.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. 라이브러리를 설치하고 사용자 인증 정보를 설정합니다.

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

    python3 -m pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/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='v202608')
    
    # 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/main/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\v202608\ApiException;
    use Google\AdsApi\AdManager\v202608\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에 복사할 수 있습니다.

    • configuration/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/main/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, :v202608)
    
    # 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에 대해 자세히 알아보세요.

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