คู่มือนี้จะอธิบายวิธีเข้าถึง Google Ads API ด้วยบัญชีบริการ
บัญชีบริการคือบัญชีที่เป็นของแอป ไม่ใช่ของผู้ใช้ปลายทางแต่ละราย บัญชีบริการใช้ขั้นตอน OAuth 2.0 ที่ไม่จำเป็นต้องมีคนอนุมัติ แต่จะใช้ไฟล์คีย์ที่มีเพียงแอปของคุณเท่านั้นที่เข้าถึงได้
การใช้บัญชีบริการมีข้อดีหลักๆ 2 ประการดังนี้
การให้สิทธิ์เข้าถึงบัญชี Google Ads สำหรับ Google Ads API จะดำเนินการเป็นขั้นตอนการกำหนดค่า โดยใช้ประโยชน์จากฟีเจอร์การให้สิทธิ์และการจัดการบัญชีที่ UI ของ Google Ads มีให้ ซึ่งจะช่วยประหยัดเวลาของนักพัฒนาซอฟต์แวร์โดยไม่ต้องสร้างขั้นตอน OAuth 2.0 และจัดการกับความซับซ้อนที่เกี่ยวข้องกับการโต้ตอบของผู้ใช้ การจัดเก็บข้อมูลเข้าสู่ระบบของผู้ใช้ และการจัดการโทเค็น
การให้สิทธิ์เข้าถึงบัญชี Google Ads ไม่ได้เชื่อมโยงกับข้อมูลเข้าสู่ระบบของผู้ใช้แต่ละราย ซึ่งอาจเป็นประโยชน์ในกรณีที่คาดว่าการให้สิทธิ์ดังกล่าวจะยังคงดำเนินต่อไปแม้ว่าพนักงานที่ให้สิทธิ์เข้าถึงในตอนแรกจะออกจากทีมหรือบริษัทไปแล้วก็ตาม
การตั้งค่าสิทธิ์เข้าถึงบัญชี
เริ่มต้นด้วยการสร้างบัญชีบริการและข้อมูลเข้าสู่ระบบ
ดาวน์โหลดคีย์บัญชีบริการในรูปแบบ JSON และจดบันทึกรหัสและอีเมลของบัญชีบริการไว้
ลงชื่อเข้าใช้บัญชี Google Ads ในฐานะผู้ดูแลระบบ ไปที่ผู้ดูแลระบบ > การเข้าถึงและความปลอดภัย
คลิกปุ่ม + ใต้แท็บผู้ใช้
พิมพ์อีเมลของบัญชีบริการในช่องป้อนข้อมูลอีเมล เลือกระดับการเข้าถึงบัญชีที่เหมาะสม (โปรดทราบว่าบัญชีบริการไม่รองรับระดับการเข้าถึงเฉพาะอีเมลเท่านั้น) แล้วคลิกปุ่มเพิ่มบัญชี
บัญชีบริการได้รับสิทธิ์เข้าถึง
ไม่บังคับ: โดยค่าเริ่มต้น คุณจะให้สิทธิ์เข้าถึงระดับผู้ดูแลระบบแก่บัญชีบริการไม่ได้ ทำตามหลักการให้สิทธิ์ขั้นต่ำที่สุดและให้สิทธิ์เข้าถึงระดับผู้ดูแลระบบเฉพาะในกรณีที่การเรียก API ของคุณจำเป็นต้องใช้สิทธิ์ดังกล่าว คุณสามารถอัปเกรดสิทธิ์เข้าถึงได้ดังนี้
- คลิกลูกศรแบบเลื่อนลงข้างระดับการเข้าถึงของบัญชีบริการในคอลัมน์ระดับการเข้าถึง
- เลือกผู้ดูแลระบบจากรายการแบบเลื่อนลง
การกำหนดค่าไลบรารีของไคลเอ็นต์
เลือกแท็บที่ตรงกับภาษาโปรแกรมของคุณเพื่อดูวิธีการกำหนดค่าไลบรารีของไคลเอ็นต์ หากบัญชีบริการเข้าถึงบัญชีลูกค้าผ่านบัญชีดูแลจัดการ Google Ads ให้ตั้งค่า 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/v26/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"
}