เริ่มต้นใช้งาน

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

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

เข้าถึงเครือข่าย Ad Manager

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

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

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

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

  1. เปิดหน้าข้อมูลเข้าสู่ระบบของคอนโซล Google API
  2. จากเมนูโปรเจ็กต์ ให้เลือกสร้างโปรเจ็กต์ จากนั้นป้อนชื่อโปรเจ็กต์ (ไม่บังคับ) แล้วแก้ไขรหัสโปรเจ็กต์ที่มีให้ คลิกสร้าง
  3. ในหน้าข้อมูลเข้าสู่ระบบ ให้เลือกสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกคีย์บัญชีบริการ
  4. เลือกบัญชีบริการใหม่ แล้วเลือกประเภทคีย์เป็น JSON
  5. คลิก Create เพื่อดาวน์โหลดไฟล์ที่มีคีย์ส่วนตัว

กําหนดค่าเครือข่าย 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/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. ระบุทรัพยากร 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.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. ติดตั้งไลบรารีและตั้งค่าข้อมูลเข้าสู่ระบบ

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

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

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

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

    เพิ่มทรัพยากร Dependency แบบ Nuget สําหรับ Google.Dfp

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

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

    • การกําหนดค่า/AdManagerApi
    • การกําหนดค่า/ส่วนเนื้อหา/ส่วน[name="AdManagerApi"]
    • การกําหนดค่า/ระบบ
  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 โดยไม่มีไลบรารีของไคลเอ็นต์ โปรดอ่านบทความ Wikipedia ของ 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/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]]
    

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

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

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

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

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