Google Photos Library API มีขอบเขตหลายขอบเขตที่ใช้ในการเข้าถึงรายการสื่อและอัลบั้ม คำตอบที่แสดงผลจากการเรียกต่างๆ จะแตกต่างกันไปตามขอบเขตที่นักพัฒนาซอฟต์แวร์ขอ
ทุกคำขอที่แอปพลิเคชันส่งไปยัง Google Photos Library API ต้องมีโทเค็นการให้สิทธิ์ โทเค็นดังกล่าวจะระบุตัวตนแอปพลิเคชันของคุณให้ Google ทราบด้วย
เกี่ยวกับโปรโตคอลการให้สิทธิ์
แอปพลิเคชันต้องใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ ระบบไม่รองรับโปรโตคอลการให้สิทธิ์อื่นๆ หากแอปพลิเคชันใช้ลงชื่อเข้าใช้ด้วย Google ระบบจะจัดการการให้สิทธิ์บางส่วนแก่คุณ
การให้สิทธิ์คำขอด้วย OAuth 2.0
คำขอทั้งหมดที่ส่งไปยัง Google Photos Library API ต้องได้รับอนุญาตจากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
รายละเอียดของกระบวนการให้สิทธิ์หรือ "ขั้นตอน" ของ OAuth 2.0 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน แอปพลิเคชันทุกประเภทจะใช้กระบวนการทั่วไปต่อไปนี้
- เมื่อสร้างแอปพลิเคชัน คุณจะลงทะเบียนแอปได้โดยใช้คอนโซล Google API จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
- เปิดใช้งาน Google Photos Library API ในคอนโซล Google API (หากไม่เห็น API ดังกล่าวในคอนโซล API ให้ข้ามขั้นตอนนี้ไป)
- เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่จำเป็นจาก Google
- Google จะแสดงหน้าจอขอคำยินยอมแก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่างของผู้ใช้
- หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
- แอปพลิเคชันขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
- หาก Google ตัดสินว่าคำขอและโทเค็นของคุณถูกต้อง ระบบจะแสดงข้อมูลที่ขอ
บางกระบวนการจะมีขั้นตอนเพิ่มเติม เช่น การใช้โทเค็นการรีเฟรชเพื่อขอโทเค็นเพื่อการเข้าถึงใหม่ ดูข้อมูลอย่างละเอียดเกี่ยวกับกระบวนการของแอปพลิเคชันประเภทต่างๆ ได้ที่เอกสารประกอบเกี่ยวกับ OAuth 2.0 ของ Google
ข้อมูลขอบเขตของ OAuth 2.0 สำหรับ Google Photos Library API มีดังนี้
ขอบเขต | ความหมาย |
---|---|
https://www.googleapis.com/auth/photoslibrary.readonly |
แสดงรายการจากไลบรารีและอัลบั้มทั้งหมด เข้าถึงรายการสื่อและอัลบั้มรายการของผู้ใช้ รวมถึงรายการที่แชร์กับผู้ใช้ สำหรับอัลบั้มที่แชร์โดยผู้ใช้ ระบบจะแสดงพร็อพเพอร์ตี้การแชร์
ก็ต่อเมื่อมีการให้สิทธิ์ขอบเขต พร็อพเพอร์ตี้ ดูข้อมูลเพิ่มเติมได้ที่แชร์สื่อ |
https://www.googleapis.com/auth/photoslibrary.appendonly |
สิทธิ์เข้าถึงเพื่ออัปโหลดไบต์ สร้างรายการสื่อ สร้างอัลบั้ม และเพิ่มคุณค่า อนุญาตให้สร้างสื่อใหม่เฉพาะในคลังของผู้ใช้และในอัลบั้มที่แอปสร้างขึ้น |
https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata |
สิทธิ์การอ่านรายการสื่อและอัลบั้มที่สร้างโดยนักพัฒนาซอฟต์แวร์ ดูข้อมูลเพิ่มเติมได้ที่เข้าถึงรายการสื่อและแสดงเนื้อหาในคลัง อัลบั้ม และรายการสื่อ มีจุดประสงค์ที่จะส่งคำขอพร้อมกับขอบเขต |
https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata |
แก้ไขเท่านั้น สิทธิ์เข้าถึงเพื่อเปลี่ยนรายละเอียดเหล่านี้สำหรับอัลบั้มและรายการสื่อที่สร้างโดยนักพัฒนาซอฟต์แวร์: |
https://www.googleapis.com/auth/photoslibrary.sharing |
สิทธิ์เข้าถึงเพื่อสร้างอัลบั้ม แชร์ อัปโหลดรายการสื่อในอัลบั้ม และเข้าร่วมอัลบั้มที่แชร์ |
https://www.googleapis.com/auth/photoslibrary |
ไม่แนะนำ ขอสิทธิ์เข้าถึงขอบเขตที่คุณต้องการด้วยการให้สิทธิ์ที่เพิ่มขึ้นเท่านั้น
สิทธิ์เข้าถึงทั้งขอบเขต |
หากต้องการขอสิทธิ์โดยใช้ OAuth 2.0 แอปพลิเคชันของคุณต้องมีข้อมูลขอบเขต รวมถึงข้อมูลที่ Google ให้คุณตอนลงทะเบียนแอปพลิเคชัน (เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์)
เคล็ดลับ: ไลบรารีของไคลเอ็นต์ Google APIs จัดการขั้นตอนการให้สิทธิ์บางส่วนให้คุณได้ ไลบรารีเหล่านี้พร้อมให้บริการเป็นภาษาโปรแกรมต่างๆ โปรดดูรายละเอียดเพิ่มเติมที่หน้าที่มีไลบรารีและตัวอย่าง
การเลือกขอบเขต
ตามกฎทั่วไป ให้เลือกขอบเขตที่มีการจำกัดมากที่สุดเท่าที่จะเป็นไปได้ และหลีกเลี่ยงการขอขอบเขตที่แอปไม่จำเป็นต้องใช้ ผู้ใช้พร้อมที่จะให้สิทธิ์เข้าถึงขอบเขตที่จำกัดและอธิบายไว้ชัดเจนมากกว่า ผู้ใช้อาจลังเลที่จะให้สิทธิ์เข้าถึงสื่ออย่างกว้างๆ เว้นแต่จะเชื่อถือแอปและเข้าใจว่าทำไมแอปจึงต้องการข้อมูล
คำขอขอบเขตที่เพิ่มขึ้น
การปฏิบัติตามแนวทางปฏิบัติแนะนำสำหรับการให้สิทธิ์ แอปพลิเคชันของคุณควรขอขอบเขตตามความจำเป็นเท่านั้น หลีกเลี่ยงการขอขอบเขตทั้งหมดของแอปพลิเคชันล่วงหน้าเมื่อลงชื่อเข้าใช้ แต่ให้ระบุเหตุผลรองรับและส่งคำขอในบริบท อธิบายอย่างชัดเจนถึงสิ่งที่คุณจะทำกับข้อมูลผู้ใช้และประโยชน์ที่ผู้ใช้จะได้รับเมื่อให้สิทธิ์เข้าถึงตามหลักเกณฑ์ UX และแนวทางปฏิบัติแนะนำเพื่อแจ้งเตือนและขอความยินยอม
บัญชีบริการ
Library API ไม่รองรับบัญชีบริการ แอปพลิเคชันต้องใช้ขั้นตอน OAuth 2.0 อื่นๆ ที่พร้อมใช้งาน เช่น OAuth 2.0 สำหรับแอปพลิเคชันเว็บเซิร์ฟเวอร์ หรือ OAuth 2.0 สำหรับแอปบนอุปกรณ์เคลื่อนที่และเดสก์ท็อป