การให้สิทธิ์และส่วนหัว HTTP

คุณต้องมีข้อมูลเข้าสู่ระบบ OAuth 2.0 เมื่อเรียกใช้ Google Ads API หากคุณทำการเรียก API ด้วยบัญชีดูแลจัดการ Google Ads คุณจะต้องระบุส่วนหัว login-customer-id ในคำขอแต่ละรายการด้วย หน้านี้อธิบายวิธีตั้งค่าเหล่านี้และเอกสารส่วนหัว HTTP เฉพาะ API เพิ่มเติมหลายรายการที่ส่งและรับเมื่อใช้อินเทอร์เฟซ REST

ข้อมูลเข้าสู่ระบบ OAuth 2.0

Google Ads API ใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ API รองรับทั้งขั้นตอนการตรวจสอบสิทธิ์ผู้ใช้ OAuth 2.0 และขั้นตอนบัญชีบริการ ดูรายละเอียดเพิ่มเติมได้ที่ OAuth 2.0 ใน Google Ads API

หากคุณเพิ่งเริ่มใช้ Google APIs คุณสามารถใช้เครื่องมือบรรทัดคำสั่ง gcloud หรือ OAuth 2.0 Playground เพื่อทดลองใช้ข้อมูลเข้าสู่ระบบ OAuth 2.0 และ Google Ads API ก่อนเขียนโค้ดสำหรับแอป

เราขอแนะนำให้คุณใช้ไลบรารี OAuth 2.0 รายการใดรายการหนึ่งที่มีให้ที่ https://oauth.net/code/ เพื่อใช้เวิร์กโฟลว์การให้สิทธิ์ OAuth 2.0 อย่างไรก็ตาม เราได้ระบุวิธีการใช้ curl ไว้ในกรณีที่คุณต้องการติดตั้งใช้งานด้วยตนเอง

บัญชีบริการ

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

การตรวจสอบสิทธิ์ของผู้ใช้

ทำตามขั้นตอนเพื่อกำหนดค่าโปรเจ็กต์คอนโซล Google Cloud สำหรับ Google Ads API บันทึกรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ จากนั้นทำตามวิธีการสำหรับขั้นตอนของแอปบนเดสก์ท็อปหรือวิธีการสำหรับขั้นตอนของเว็บแอปเพื่อสร้างโทเค็นการรีเฟรชและโทเค็นเพื่อการเข้าถึง scopeที่จะใช้สำหรับการเข้าถึง Google Ads API คือ https://www.googleapis.com/auth/adwords

สร้างโทเค็นเพื่อการเข้าถึงใหม่

บัญชีบริการ

เมื่อคุณมีอีเมลของบัญชีบริการและคีย์ของบัญชีบริการแล้ว ให้ทำตามคำแนะนำในการใช้ OAuth 2.0 สำหรับแอปพลิเคชันแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์เพื่อสร้างชุดการอ้างสิทธิ์ JWT ซึ่งสามารถแลกเปลี่ยนเพื่อรับโทเค็นเพื่อการเข้าถึง OAuth 2.0 ได้ อย่าลืมเลือกแท็บ HTTP/REST ขณะทำตามคำแนะนำ scope OAuth 2.0 ที่จะใช้สำหรับการเข้าถึง Google Ads API คือ https://www.googleapis.com/auth/adwords นอกจากนี้ คุณยังข้ามพารามิเตอร์ sub ได้เมื่อสร้างชุดการอ้างสิทธิ์ JWT เนื่องจากขั้นตอนการตั้งค่าจะให้สิทธิ์เข้าถึงบัญชี Google Ads โดยตรงแก่บัญชีบริการ จึงไม่จำเป็นต้องแอบอ้างเป็นผู้ใช้ Google Ads

จากนั้นคุณจะใช้โทเค็นเพื่อการเข้าถึงในส่วนหัว HTTP Authorization ของการเรียก API ทุกครั้งไปยัง Google Ads API ดังนี้

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

การตรวจสอบสิทธิ์ของผู้ใช้

เมื่อมีรหัสไคลเอ็นต์, รหัสลับไคลเอ็นต์ และโทเค็นการรีเฟรช OAuth 2.0 แล้ว คุณจะสร้างโทเค็นเพื่อการเข้าถึงใหม่เพื่อใช้ในการเรียก API ด้วยเครื่องมือบรรทัดคำสั่ง curl ได้โดยทำดังนี้

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

จากนั้นคุณจะใช้โทเค็นเพื่อการเข้าถึงที่คำขอ curl แสดงผลในส่วนหัว HTTP Authorization ของการเรียก API ทุกครั้งไปยัง Google Ads API

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

ส่วนหัวของคำขอ

ส่วนต่อไปนี้จะอธิบายส่วนหัว HTTP ที่จำเป็นหรือใช้เมื่อส่งคำขอไปยัง Google Ads API

รหัสลูกค้าที่เข้าสู่ระบบ

สำหรับการเรียก Google Ads API ที่ผู้จัดการทำกับบัญชีลูกค้า (นั่นคือเมื่อเข้าสู่ระบบในฐานะผู้จัดการเพื่อเรียก API ไปยังบัญชีลูกค้าบัญชีใดบัญชีหนึ่ง) คุณต้องระบุส่วนหัว HTTP login-customer-id ด้วย ค่านี้แสดงรหัสลูกค้า Google Ads ของบัญชีดูแลจัดการที่ทำการเรียก API

การใส่ส่วนหัวนี้เทียบเท่ากับการเลือกบัญชีใน UI ของ Google Ads หลังจากลงชื่อเข้าใช้หรือคลิกรูปโปรไฟล์ที่มุมขวาบนของหน้า เมื่อระบุรหัสลูกค้า โปรดนำขีดกลาง (—) ออก เช่น 1234567890 ไม่ใช่ 123-456-7890 ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสลูกค้าที่เข้าสู่ระบบได้ที่คู่มือรูปแบบการเข้าถึง Google Ads

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

รหัสลูกค้าที่ลิงก์

พาร์ทเนอร์ (เช่น ผู้ให้บริการวิเคราะห์แอปของบุคคลที่สามหรือพาร์ทเนอร์ด้านข้อมูล) จะใช้ส่วนหัวรหัสลูกค้าที่ลิงก์เมื่อดำเนินการในบัญชี Google Ads ที่ลิงก์ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือโครงสร้างการเรียก API

Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

ส่วนหัวการตอบกลับ

ระบบจะแสดงส่วนหัวต่อไปนี้ในการตอบกลับ HTTP จาก API

รหัสคำขอ

request-id คือสตริงที่ระบุคำขอ API โดยไม่ซ้ำกัน เมื่อแก้ไขข้อบกพร่องหรือแก้ปัญหาเกี่ยวกับการเรียก API ที่เฉพาะเจาะจง request-id เป็นตัวระบุที่สำคัญซึ่งควรมีไว้เมื่อติดต่อทีมสนับสนุน Google Developers

request-id: 2a5Cj89VV7CNhya1DZjjrC