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

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

ขอบเขต

โทเค็นเพื่อการเข้าถึงรายการเดียวสามารถให้สิทธิ์เข้าถึง 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}" \