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