เริ่มต้น

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

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

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

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

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

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

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

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

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

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

  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. ระบุการอ้างอิง

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

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

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

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\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 และสร้างโปรเจ็กต์ใหม่ (แอปพลิเคชัน Console)

  2. เพิ่มการอ้างอิงไลบรารีที่จำเป็นลงในโครงการ

    เพิ่มการอ้างอิง Nuget สำหรับ Google.Dfp

  3. ตั้งค่า App.config

    คัดลอก src\App.config ไปยังไดเรกทอรีโปรเจ็กต์และเพิ่มลงในโปรเจ็กต์ หากแอปพลิเคชันมี App.config ของตนเอง คุณจะคัดลอกโหนดต่อไปนี้ลงใน App.config ได้

    • การกำหนดค่า/AdManagerApi
    • configuration/configSections/section[name="AdManagerApi"]
    • การกำหนดค่า/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 โดยไม่มีไลบรารีของไคลเอ็นต์ โปรดดูบทความ NoClientLibrary wiki

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, :v202402)
    
    # 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

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