เริ่มใช้งาน

คุณสามารถใช้ SOAP API ของ Google Ad Manager เพื่อสร้างแอปที่จัดการพื้นที่โฆษณา สร้างคำสั่งซื้อ ดึงรายงาน และอื่นๆ

เรามีไลบรารีของไคลเอ็นต์สำหรับ Java, .NET, Python, PHP และ Ruby เพื่อช่วยให้คุณเริ่มต้นใช้งานได้

หากต้องการส่งคำขอ API ครั้งแรก ให้ทำตามขั้นตอนต่อไปนี้

รับสิทธิ์เข้าถึงเครือข่าย Ad Manager

หากยังไม่มีบัญชี ให้ลงชื่อสมัครใช้บัญชี Ad Manager นอกจากนี้ คุณยังสร้างเครือข่ายทดสอบได้หากต้องการทดสอบ API ในสภาพแวดล้อมที่แยกต่างหาก โปรดทราบว่าคุณไม่จำเป็นต้องมีบัญชี AdSense เพื่อวัตถุประสงค์ในการทดสอบ

จดรหัสเครือข่ายของคุณไว้ คุณดูข้อมูลนี้ได้ใน URL เมื่อลงชื่อเข้าใช้เครือข่าย ตัวอย่างเช่น ใน URL https://admanager.google.com/1234#home 1234 คือรหัสเครือข่ายของคุณ

สร้างข้อมูลรับรองการตรวจสอบสิทธิ์

คุณต้องตรวจสอบสิทธิ์คำขอ Ad Manager SOAP API ทั้งหมดโดยใช้ OAuth 2.0 ขั้นตอนต่อไปนี้ครอบคลุมกรณีการใช้งานในการเข้าถึงข้อมูล Ad Manager ของคุณเอง ดูรายละเอียดเพิ่มเติมและตัวเลือกอื่นๆ ได้ที่การตรวจสอบสิทธิ์

  1. เปิดหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google API

  2. จากเมนูโปรเจ็กต์ ให้เลือกสร้างโปรเจ็กต์ ป้อนชื่อโปรเจ็กต์ และแก้ไขรหัสโปรเจ็กต์ที่ระบุ (ไม่บังคับ) คลิกสร้าง

  3. ในหน้าข้อมูลเข้าสู่ระบบ ให้เลือกสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกคีย์บัญชีบริการ

  4. เลือกบัญชีบริการใหม่ แล้วเลือก JSON เป็นประเภทคีย์

  5. คลิกสร้างเพื่อดาวน์โหลดไฟล์ที่มีคีย์ส่วนตัว

กำหนดค่าเครือข่าย Ad Manager

  1. ลงชื่อเข้าใช้ Google Ad Manager

  2. ในแถบด้านข้าง ให้คลิกผู้ดูแลระบบ > การตั้งค่าส่วนกลาง

  3. ในส่วนการตั้งค่าทั่วไป > การเข้าถึง API ให้คลิกแถบเลื่อนเป็นเปิดใช้

  4. คลิกปุ่มบันทึกที่ด้านล่างของหน้า

ตั้งค่าไคลเอ็นต์

ดาวน์โหลดไลบรารีของไคลเอ็นต์ Ad Manager รายการใดรายการหนึ่ง ไลบรารีมีฟังก์ชัน Wrapper และฟีเจอร์ที่ช่วยให้พัฒนาแอปได้ง่ายและรวดเร็วยิ่งขึ้น

แท็บต่อไปนี้แสดงคู่มือเริ่มใช้งานฉบับย่อสำหรับการเขียนโค้ดในแต่ละภาษาที่มีไลบรารีของไคลเอ็นต์

Java

ตัวอย่างเบื้องต้นที่แสดงวิธีใช้ไลบรารีของไคลเอ็นต์ Java มีดังนี้ ดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติมได้ที่ไฟล์ README ในการแจกจ่ายไลบรารีของไคลเอ็นต์

  1. ตั้งค่าข้อมูลเข้าสู่ระบบ

    เรียกใช้คำสั่งต่อไปนี้ใน Shell

    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. ระบุทรัพยากร Dependency

    แก้ไขไฟล์ 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. ติดตั้งไลบรารีและตั้งค่าข้อมูลเข้าสู่ระบบ

    เรียกใช้คำสั่งต่อไปนี้ใน Shell

    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. ติดตั้งไลบรารีและตั้งค่าข้อมูลเข้าสู่ระบบ

    เรียกใช้คำสั่งต่อไปนี้ใน Shell เพื่อติดตั้งไลบรารีของไคลเอ็นต์และดาวน์โหลดไฟล์ 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. เพิ่มการอ้างอิงไลบรารีที่จำเป็นลงในโปรเจ็กต์

    เพิ่มทรัพยากร Dependency ของ NuGet สำหรับ Google.Dfp

  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 โปรดดูบทความ Wiki นี้เพื่อดูวิธีอื่นๆ ในการใช้คลาส AdManagerUser ดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้ไลบรารีของไคลเอ็นต์ .NET ได้ที่ README หากต้องการพัฒนาใน .NET โดยไม่มีไลบรารีของไคลเอ็นต์ โปรดดูบทความ Wiki NoClientLibrary

Ruby

ตัวอย่างเบื้องต้นที่แสดงวิธีใช้ไลบรารีของไคลเอ็นต์ Ruby มีดังนี้ ไลบรารีของไคลเอ็นต์ Ruby ต้องใช้ Ruby 2.1 ขึ้นไป

  1. ติดตั้ง Ruby gem และรับไฟล์การกำหนดค่า

    เรียกใช้คำสั่งต่อไปนี้ใน Shell

    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]]

ดูขั้นตอนโดยละเอียดเพิ่มเติมสำหรับการเริ่มต้นใช้งานได้ในไฟล์ README ที่แจกจ่ายพร้อมกับไลบรารีของไคลเอ็นต์ Ruby นอกจากนี้ โปรดดูคลังตัวอย่างแบบเต็มสำหรับ Ruby

ขั้นตอนถัดไป

เมื่อไลบรารีของไคลเอ็นต์พร้อมใช้งานแล้ว ให้แก้ไขตัวอย่างที่ให้ไว้เพื่อขยายการใช้งานตามความต้องการของคุณ

เรียกดูเอกสารอ้างอิงเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ API

หากต้องการความช่วยเหลือ โปรดไปที่หน้าการสนับสนุน