การให้สิทธิ์และส่วนหัว 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 user authentication flow และ service account flow ดูรายละเอียดเพิ่มเติมได้ที่ ดู OAuth 2.0 ใน Google Ads API

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

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

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

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

โทเค็นของนักพัฒนา

Google Ads API ยังกำหนดให้ต้องมีโทเค็นของนักพัฒนา เพื่อทำการเรียก API หากมีโทเค็นของนักพัฒนาอยู่แล้ว คุณจะดูโทเค็นได้โดยไปที่ https://ads.google.com/aw/apicenter ลงชื่อเข้าใช้บัญชีดูแลจัดการ Google Ads หากระบบแจ้ง หากยังไม่มี ให้ทำตาม วิธีการเพื่อลงชื่อสมัครใช้โทเค็นของนักพัฒนา

คุณต้องใส่ค่าโทเค็นของนักพัฒนาในส่วนหัว HTTP developer-token ของการเรียก API ทุกครั้งไปยัง Google Ads API ดังนี้

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

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

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

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

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

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

Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

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

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

รหัสคำขอ

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

request-id: 2a5Cj89VV7CNhya1DZjjrC