ส่วนนี้มีไว้สำหรับผู้ใช้ขั้นสูงที่คุ้นเคยกับ ข้อกำหนด 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}" \