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

คู่มือนี้จะอธิบายวิธีเข้าถึง 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. บัญชีบริการได้รับสิทธิ์เข้าถึง

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

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

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 = "PATH_TO_JSON_SECRETS_PATH",
    ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

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

Python

ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัวในการกำหนดค่า หากคุณใช้ google-ads.yaml file, สตริง 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 ดูรายละเอียดเพิ่มเติมได้ที่ คู่มือการกำหนดค่า

; 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=PATH_TO_CREDENTIALS_JSON

จากนั้น ให้ดึงข้อมูลโทเค็นเพื่อการเข้าถึง 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/v21/customers/CUSTOMER_ID/googleAds:searchStream \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   -H "developer-token: DEVELOPER_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"
}