รายละเอียดภายในของ OAuth 2.0 สำหรับ Google Ads API

ส่วนนี้มีไว้สำหรับผู้ใช้ขั้นสูงที่คุ้นเคยกับ ข้อกำหนด OAuth 2.0 และรู้วิธีใช้ OAuth 2.0 กับ Google APIs อยู่แล้ว

ขอบเขต

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

ขอบเขตสำหรับ Google Ads API คือ

https://www.googleapis.com/auth/adwords

การเข้าถึงแบบออฟไลน์และอายุการใช้งานของโทเค็น

แอปไคลเอ็นต์ Google Ads API มักจะขอสิทธิ์เข้าถึงแบบออฟไลน์ เช่น แอปของคุณอาจต้องการเรียกใช้การทำงานแบบกลุ่มเมื่อผู้ใช้ไม่ได้ออนไลน์เพื่อเรียกดูเว็บไซต์ของคุณ โทเค็นเพื่อการเข้าถึงมีอายุการใช้งาน 3,600 วินาที (1 ชั่วโมง) หลังจากนั้นแอปของคุณจะต้องแลกเปลี่ยนโทเค็นการรีเฟรชเป็นโทเค็นเพื่อการเข้าถึงใหม่

หากต้องการขอสิทธิ์เข้าถึงแบบออฟไลน์สำหรับเว็บแอปประเภทหนึ่ง ให้ตรวจสอบว่าได้ตั้งค่าพารามิเตอร์ access_type เป็น offline ดูข้อมูลเพิ่มเติมได้ใน คู่มือ OAuth 2.0 ของ Google

สำหรับแอปบนเดสก์ท็อป ระบบจะเปิดใช้การเข้าถึงแบบออฟไลน์โดยค่าเริ่มต้น คุณจึงไม่ต้องขอสิทธิ์เข้าถึงอย่างชัดเจน

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

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

ส่วนหัวของ gRPC

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

ส่วนหัวของ REST

เมื่อใช้ REST API ให้ส่งโทเค็นเพื่อการเข้าถึงผ่านส่วนหัว HTTP Authorization: Bearer <ACCESS_TOKEN> ตัวอย่างคำขอ HTTP มีดังนี้

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \