시작하기

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

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

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

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

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

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

사용자 인증 정보 만들기

OAuth 2.0을 사용하여 모든 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 클라이언트 라이브러리 중 하나를 다운로드합니다. 라이브러리는 앱을 더 쉽고 빠르게 개발할 수 있게 해주는 래퍼 기능 및 기능을 제공합니다.

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

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.v202402.Network;
    import com.google.api.ads.admanager.axis.v202402.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/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='v202402')
    
    # 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']))
    

2,399필리핀

다음은 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\v202402\ApiException;
    use Google\AdsApi\AdManager\v202402\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 클라이언트 라이브러리 사용에 대한 자세한 내용은 리드미 를 참조하세요. 클라이언트 라이브러리 없이 .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, :v202402)
    
    # Make a request.
    network = network_service.get_current_network()
    
    puts "The current network is %s (%d)." %
            [network[:display_name], network[:network_code]]
    

자세한 시작하기 단계는 Ruby 클라이언트 라이브러리와 함께 배포되는 리드미 파일을 참조하세요. 또한 Ruby용 전체 예시 라이브러리도 확인하세요.

다음 단계

클라이언트 라이브러리가 준비되었으면 제공된 예를 수정하여 필요에 맞게 확장하세요.

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

도움이 필요한 경우 지원 페이지를 방문하세요.