การให้สิทธิ์และส่วนหัว 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 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 Console สำหรับ Google Ads API บันทึกรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ จากนั้นทำตามวิธีการของขั้นตอนแอปบนเดสก์ท็อป หรือวิธีการของขั้นตอนเว็บแอป เพื่อสร้างโทเค็นการรีเฟรชและโทเค็นเพื่อการเข้าถึง scope to use for Google Ads API access is 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 /v22/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 /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

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

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

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

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

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

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

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

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

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

ส่วนหัวรหัสลูกค้าที่ลิงก์ใช้โดย [third-party app analytics providers เมื่ออัปโหลด Conversion ไปยังบัญชี Google Ads ที่ลิงก์เท่านั้น ดูรายละเอียดเพิ่มเติมได้ที่คู่มือโครงสร้างการเรียก API

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

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

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

รหัสคำขอ

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

request-id: 2a5Cj89VV7CNhya1DZjjrC