เวิร์กโฟลว์ของบัญชีบริการ

คู่มือนี้จะอธิบายวิธีเข้าถึง Google Ads API ด้วยบัญชีบริการ

บัญชีบริการคือบัญชี ที่เป็นของแอปของคุณ ไม่ใช่ของผู้ใช้ปลายทางแต่ละราย บัญชีบริการ ใช้ขั้นตอน OAuth 2.0 ที่ไม่จำเป็นต้องมีการให้สิทธิ์จากบุคคล แต่จะใช้ ไฟล์คีย์ที่มีเพียงแอปของคุณเท่านั้นที่เข้าถึงได้แทน

การใช้บัญชีบริการมีประโยชน์หลัก 2 ประการ ได้แก่

  • การให้สิทธิ์การเข้าถึง Google Ads API ในบัญชี Google Ads จะดำเนินการเป็นขั้นตอนการกำหนดค่า โดยใช้ประโยชน์จากฟีเจอร์การให้สิทธิ์และการจัดการบัญชีที่ UI ของ Google Ads มีให้ ซึ่งช่วยประหยัดความพยายามของนักพัฒนาแอปโดยไม่ต้องสร้างโฟลว์ OAuth 2.0 และจัดการกับความซับซ้อนที่เกี่ยวข้องกับการโต้ตอบของผู้ใช้ การจัดเก็บข้อมูลเข้าสู่ระบบของผู้ใช้ และการจัดการโทเค็น

  • การให้สิทธิ์เข้าถึงบัญชี Google Ads ไม่ได้เชื่อมโยงกับข้อมูลเข้าสู่ระบบของผู้ใช้แต่ละราย ซึ่งอาจมีประโยชน์ในกรณีที่คาดว่าจะมีการให้สิทธิ์ต่อไปแม้ว่าพนักงานที่ให้สิทธิ์เข้าถึงในตอนแรกจะลาออกจากทีมหรือบริษัทก็ตาม

การตั้งค่าการเข้าถึงบัญชี

  1. เริ่มต้นด้วยการสร้างบัญชีบริการและ ข้อมูลเข้าสู่ระบบ

    ดาวน์โหลดคีย์บัญชีบริการในรูปแบบ JSON และจดบันทึกรหัสและอีเมลของบัญชีบริการ

  2. ลงชื่อเข้าใช้บัญชี Google Ads ในฐานะผู้ดูแลระบบ ไปที่ผู้ดูแลระบบ > การเข้าถึงและความปลอดภัย

  3. คลิกปุ่ม + ในแท็บผู้ใช้

  4. พิมพ์อีเมลของบัญชีบริการลงในกล่องรับข้อมูลอีเมล เลือกระดับการเข้าถึงบัญชีที่เหมาะสม (โปรดทราบว่าบัญชีบริการไม่รองรับระดับการเข้าถึงอีเมลเท่านั้น) แล้วคลิกปุ่มเพิ่มบัญชี

  5. บัญชีบริการได้รับสิทธิ์เข้าถึง

  6. ไม่บังคับ: โดยค่าเริ่มต้น คุณจะให้สิทธิ์เข้าถึงระดับผู้ดูแลระบบแก่บัญชีบริการไม่ได้ ทำตามหลักการให้สิทธิ์ขั้นต่ำที่สุดและให้สิทธิ์เข้าถึงระดับผู้ดูแลระบบเฉพาะในกรณีที่การเรียก API ของคุณต้องใช้สิทธิ์ดังกล่าว คุณอัปเกรด สิทธิ์เข้าถึงได้ดังนี้

    • คลิกลูกศรเมนูแบบเลื่อนลงข้างระดับการเข้าถึงของบัญชีบริการในคอลัมน์ระดับการเข้าถึง
    • เลือกผู้ดูแลระบบจากรายการแบบเลื่อนลง

การกำหนดค่าไลบรารีของไคลเอ็นต์

เลือกแท็บที่สอดคล้องกับภาษาโปรแกรมของคุณเพื่อดูวิธีการ กำหนดค่าไลบรารีของไคลเอ็นต์ หากบัญชีบริการเข้าถึงบัญชีลูกค้า ผ่านบัญชีดูแลจัดการ Google Ads (MCC) ให้ตั้งค่า login-customer-id (หรือ loginCustomerId) เป็นรหัสลูกค้า 10 หลักของบัญชีดูแลจัดการนั้น โดยไม่มีขีดกลาง (ดูรหัสลูกค้าสำหรับเข้าสู่ระบบ)

Java

ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัวในการกำหนดค่า หากคุณใช้ไฟล์ ads.properties ให้เพิ่มข้อมูลต่อไปนี้

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการกำหนดค่า

.NET

ตั้งค่า OAuth2Mode และ OAuth2SecretsJsonPath ในอินสแตนซ์ GoogleAdsConfig และใช้เพื่อเริ่มต้นออบเจ็กต์ GoogleAdsClient

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    // ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการกำหนดค่า

Python

ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัวในการกำหนดค่า หากใช้ไฟล์ google-ads.yaml สตริง YAML หรือ dict ให้เพิ่มข้อมูลต่อไปนี้

json_key_file_path: JSON_KEY_FILE_PATH

หากคุณใช้ตัวแปรสภาพแวดล้อม ให้เพิ่มข้อมูลต่อไปนี้ลงในการกำหนดค่าหรือสภาพแวดล้อม Bash

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการกำหนดค่า

PHP

กำหนดค่าคีย์ต่อไปนี้ในไฟล์ google_ads_php.ini

[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการกำหนดค่า

Ruby

กำหนดค่าคีย์ต่อไปนี้ใน google_ads_config.rb

c.keyfile = 'JSON_KEY_FILE_PATH'

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการกำหนดค่า

Perl

ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัวในการกำหนดค่า หากใช้ไฟล์ googleads.properties ให้เพิ่มข้อมูลต่อไปนี้

jsonKeyFilePath=JSON_KEY_FILE_PATH

หากคุณใช้ตัวแปรสภาพแวดล้อม ให้เพิ่มข้อมูลต่อไปนี้ลงในการกำหนดค่าหรือสภาพแวดล้อม Bash

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการกำหนดค่า

curl

เริ่มต้นด้วยการตั้งค่าบัญชีบริการเป็นข้อมูลเข้าสู่ระบบที่ใช้งานอยู่ใน gcloud CLI

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

จากนั้นดึงข้อมูลโทเค็นเพื่อการเข้าถึง OAuth 2.0 สำหรับ Google Ads API

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

คุณใช้โทเค็นเพื่อการเข้าถึงในการเรียก API ได้ ตัวอย่างต่อไปนี้ แสดงวิธีเรียกใช้รายงานแคมเปญโดยใช้เมธอด GoogleAdsService.SearchStream เพื่อดึงข้อมูล แคมเปญในบัญชี คู่มือนี้ไม่ได้กล่าวถึงรายละเอียดของการรายงาน

curl -i -X POST \
  https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

เนื้อหาของ query.json มีดังนี้

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}