การตรวจสอบสิทธิ์การเรียก API
ในตัวอย่างนี้ เรากำลังแสดงวิธีใช้บัญชีบริการในการเรียก AdSense Platforms API เพื่อสร้างและจัดการบัญชีย่อย
ขั้นตอนที่ 1: สร้างโปรเจ็กต์ Google Cloud ใหม่ (หรือใช้โปรเจ็กต์ที่มีอยู่)
หากคุณมีโปรเจ็กต์ Google Cloud อยู่แล้ว ก็ใช้ได้เลย หรือทำตามคำแนะนำด้านล่างเกี่ยวกับการสร้างโปรเจ็กต์ใหม่
https://cloud.google.com/resource-manager/docs/creating-managing-projects
ขั้นตอนที่ 2: สร้างบัญชีบริการ
การใช้บัญชีบริการคือวิธีที่ดีที่สุดในการสร้างบัญชีย่อย โปรดทำตามขั้นตอนต่อไปนี้เพื่อสร้างบัญชีบริการ
- ไปที่หน้าบัญชีบริการใน Google Cloud
- คุณจะใช้บัญชีบริการที่มีอยู่หรือสร้างบัญชีใหม่ก็ได้
- คลิกที่ "+ สร้างบัญชีบริการ"
- กรอกแบบฟอร์ม "รายละเอียดบัญชีบริการ"
- ขั้นตอนที่ 2 และ 3 ในหน้า (การให้สิทธิ์เข้าถึงโปรเจ็กต์และผู้ใช้) เป็นตัวเลือกที่ไม่บังคับ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและจัดการบัญชีบริการ
เมื่อสร้างบัญชีบริการแล้ว คุณต้องส่งไปยัง Google เพื่อเพิ่มบัญชีบริการลงในบัญชี AdSense ซึ่งเป็นสิ่งจำเป็น เนื่องจากบัญชีบริการจำเป็นต้องได้รับอนุญาตให้เข้าถึงบัญชี AdSense ของคุณ โปรดแจ้งให้ผู้จัดการฝ่ายดูแลลูกค้าทราบ
ขั้นตอนที่ 3: เปิดใช้ AdSense Platform API สำหรับโปรเจ็กต์ Google Cloud
ไม่พบ API แพลตฟอร์ม AdSense ซึ่งหมายความว่าคุณต้องไปที่ลิงก์ต่อไปนี้เพื่อเปิดใช้ API ดังกล่าวสำหรับโปรเจ็กต์ของคุณ
https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview
ขั้นตอนที่ 4: สร้างคีย์บริการ
หากต้องการสร้างโทเค็นเพื่อการเข้าถึงเพื่อใช้ในการเรียก API คุณต้องสร้างคีย์บริการ โปรดทำตามขั้นตอนต่อไปนี้
- ไปที่หน้าบัญชีบริการใน Google Cloud
- ในคอลัมน์การดำเนินการ ให้คลิก ของบัญชีบริการที่ต้องการใช้สร้างบัญชีย่อย แล้วคลิก "จัดการคีย์"
- คลิกที่ "เพิ่มคีย์" จากนั้นเลือก "สร้างคีย์ใหม่"
- เลือก JSON เป็นประเภทคีย์เสมอ แล้วคลิก "สร้าง"
- ระบบจะสร้างไฟล์ json และดาวน์โหลดลงในคอมพิวเตอร์ของคุณ เก็บข้อมูลนี้ไว้อย่างปลอดภัยเนื่องจากจำเป็นสำหรับการตรวจสอบสิทธิ์การเรียก API
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและจัดการคีย์บัญชีบริการ
ขั้นตอนที่ 5: ใช้ไลบรารี OAuth ของ Google เพื่อสร้างโทเค็นเพื่อการเข้าถึง
Google มีไลบรารีเพื่อช่วยสร้างโทเค็นเพื่อการเข้าถึง ซึ่งสามารถใช้ในการเรียก API ได้ ดูวิธีสร้างข้อมูลเข้าสู่ระบบสําหรับบัญชีบริการที่นี่
https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests
ขอบเขตของ AdSense Platforms API มีดังนี้
https://www.googleapis.com/auth/adsense
ตัวอย่าง Python
from google.auth.transport import requests
from google.oauth2 import service_account
CREDENTIAL_SCOPES = ["https://www.googleapis.com/auth/adsense"]
CREDENTIALS_KEY_PATH = 'service.json'
def get_service_account_token():
credentials = service_account.Credentials.from_service_account_file(
CREDENTIALS_KEY_PATH, scopes=CREDENTIAL_SCOPES)
credentials.refresh(requests.Request())
return credentials.token
ในขั้นตอนนี้ คุณพร้อมจะเริ่มเรียกใช้ API แล้ว เนื่องจากแพลตฟอร์ม AdSense Platform API ยังไม่รองรับไลบรารีไคลเอ็นต์ คุณจึงต้องส่งคำขอ HTTP โดยตรงแทน ควรรวมโทเค็นเพื่อการเข้าถึงไว้เป็นส่วนหัวในคำขอ HTTP ส่วนหัวควรมีลักษณะดังนี้:
Authorization: OAuth <credentials>
ตัวอย่างจะอยู่ในหน้า API