หากต้องการกำหนดค่า OAuth สําหรับแอปพลิเคชัน ให้ตั้งค่าเวิร์กโฟลว์ OAuth และเปิดใช้ขอบเขต OAuth ของ Data Portability API
ตั้งค่าเวิร์กโฟลว์ OAuth
หากต้องการตั้งค่าขั้นตอนการขอสิทธิ์ OAuth สําหรับแอปพลิเคชัน ให้ทําตามขั้นตอนพื้นฐานในเอกสารประกอบเกี่ยวกับข้อมูลประจำตัวของ Google
นักพัฒนาซอฟต์แวร์ส่วนใหญ่ใช้ขั้นตอนเว็บแอปฝั่งเซิร์ฟเวอร์เพื่อขอความยินยอม OAuth แต่คุณใช้ขั้นตอนเว็บแอป JavaScript หรือขั้นตอนแอปบนอุปกรณ์เคลื่อนที่และเดสก์ท็อปก็ได้
การส่งออกอาจใช้เวลานานกว่าอายุการใช้งานของโทเค็นการเข้าถึง หรือผู้ใช้อาจให้สิทธิ์เข้าถึงเป็นเวลา 30 หรือ 180 วัน คุณอาจต้องขอโทเค็นการรีเฟรชและแลกกับโทเค็นการเข้าถึงใหม่เป็นระยะๆ ดูรายละเอียดเพิ่มเติมได้ที่การรีเฟรชโทเค็นการเข้าถึงสําหรับเว็บแอป และการรีเฟรชโทเค็นการเข้าถึงสําหรับแอปบนอุปกรณ์เคลื่อนที่และเดสก์ท็อป
สำคัญ: การต่ออายุโทเค็น OAuth จะพร้อมให้บริการแก่ผู้ใช้ก็ต่อเมื่อไคลเอ็นต์ OAuth มีสถานะการเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง ไม่ใช่การทดสอบ นอกจากนี้ โทเค็นที่มอบให้แก่ไคลเอ็นต์ OAuth ที่มีสถานะการเผยแพร่การทดสอบจะหมดอายุใน 7 วันเสมอ แม้ว่าคุณจะเลือกระยะเวลา 30 วันหรือ 180 วันก็ตาม โปรดดูรายละเอียดที่หัวข้อการตั้งค่าหน้าจอขอความยินยอม OAuth
ขอบเขต OAuth ของ Data Portability API
เมื่อคุณกําหนดค่าแอปพลิเคชัน Data Portability API สําหรับ OAuth ให้เปิดใช้ขอบเขต OAuth ของ Data Portability API ที่เกี่ยวข้องกับแอปพลิเคชัน ขอบเขตบางอย่างคือ sensitive
และ restricted
และอยู่ภายใต้ข้อกำหนดเพิ่มเติม
เมื่อคุณเพิ่มขอบเขต Data Portability API ลงในโฟลว์ OAuth อาจมีบางกรณีที่ผู้ใช้ให้ความยินยอมในบางขอบเขตเท่านั้น แอปของคุณต้องสามารถจัดการกับกรณีเหล่านี้ได้โดยทำดังนี้
- อนุญาตให้ส่งออกข้อมูลบางส่วน
- การแจ้งให้ผู้ใช้ทราบว่าไม่ได้เลือกขอบเขตที่จําเป็นทั้งหมด (และดำเนินการอย่างราบรื่น)
- การขอความยินยอมที่เหลือจากผู้ใช้
นอกจากนี้ ผู้ใช้จะเลือกได้ว่าจะให้สิทธิ์เข้าถึงข้อมูลของตนแก่คุณเพียงครั้งเดียว หรือเป็นเวลา 30 หรือ 180 วัน
- หากผู้ใช้ให้สิทธิ์เข้าถึงแบบครั้งเดียว แอปของคุณจะได้รับอนุญาตให้ส่งออกข้อมูลครั้งเดียวสําหรับความยินยอมที่เฉพาะเจาะจงนั้น หากต้องการดาวน์โหลดข้อมูลอีกครั้ง คุณจะต้องได้รับความยินยอมใหม่จากผู้ใช้
- หากผู้ใช้ให้สิทธิ์เข้าถึงตามเวลาแก่คุณ แอปของคุณจะได้รับอนุญาตให้ส่งออกข้อมูลตามระยะเวลาที่ระบุไว้หรือจนกว่าผู้ใช้จะเพิกถอนความยินยอม
- นอกจากนี้ คุณยังเลือกใช้ตัวกรองเวลากับคำขอเพื่อส่งออกข้อมูลสำหรับช่วงระยะเวลาที่เฉพาะเจาะจง เช่น 6 เดือนที่ผ่านมาได้ด้วย
นอกจากนี้ โปรดทราบว่าในระหว่างขั้นตอนการขอสิทธิ์ OAuth แอปของคุณจะไม่ทราบว่ามีการใช้บัญชี Google ใดให้สิทธิ์ โทเค็น OAuth ที่แอปพลิเคชันของคุณได้รับจะทึบ
หากกำลังมองหาข้อมูลเกี่ยวกับวิธีที่ผู้ใช้แชร์ข้อมูล โปรดดูแชร์สำเนาข้อมูลกับบุคคลที่สาม
ข้อจํากัดของขอบเขต
ส่วนนี้จะกล่าวถึงข้อจํากัดของขอบเขตที่ทําให้เกิดข้อผิดพลาด
ขอบเขตแบบผสม
คำขอสำหรับขอบเขต Data Portability API (เช่น https://www.googleapis.com/auth/dataportability.*) ต้องไม่รวมกับขอบเขตอื่นๆ (เช่น https://www.googleapis.com/auth/userinfo.email) ตัวอย่างคำขอที่ไม่ถูกต้องมีดังนี้ โดยส่วนที่จํากัดจะไฮไลต์เป็นตัวหนา
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id &
redirect_uri=redirect_uri &
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false
ขอบเขตที่อนุญาตก่อนหน้านี้
คุณไม่ควรตั้งค่า include_granted_scopes=true
เมื่อขอขอบเขต DPAPI
ต่อไปนี้คือตัวอย่างคำขอที่ไม่ถูกต้อง โดยส่วนที่จํากัดจะไฮไลต์เป็นตัวหนา
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id &
redirect_uri=redirect_uri &
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true
ขอบเขตมากเกินไป
หากคำขอของคุณมีขอบเขตต่อท้ายมากเกินไป คุณอาจพบข้อผิดพลาด 400 bad request
ปัญหานี้เกิดขึ้นเมื่อ URL มีความยาวเกินกว่าที่เบราว์เซอร์รองรับ วิธีแก้ปัญหาคือให้แยกคำขอสโคปออกเป็นกลุ่มย่อยๆ หลายกลุ่ม และใช้การตรวจสอบสิทธิ์แบบเพิ่มทีละส่วนเพื่อขอความยินยอมสำหรับแต่ละกลุ่ม
หมวดหมู่ขอบเขต
ดูรายการขอบเขต OAuth ทั้งหมดที่ Data Portability API รองรับและหมวดหมู่ของขอบเขตได้ที่ขอบเขต OAuth ที่พร้อมใช้งาน ดูรายการกลุ่มทรัพยากรและขอบเขต OAuth ทั้งหมดที่บริการหนึ่งๆ รองรับได้ที่หน้าอ้างอิงสคีมาของบริการนั้น