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 และแนวทางปฏิบัติแนะนําเพื่อประกาศและขอความยินยอม
บัญชีบริการ
API ไลบรารีไม่รองรับบัญชีบริการ แอปพลิเคชันต้องใช้ขั้นตอน OAuth 2.0 อื่นๆ ที่มี เช่น OAuth 2.0 สําหรับแอปพลิเคชันเว็บเซิร์ฟเวอร์หรือ OAuth 2.0 สําหรับแอปบนอุปกรณ์เคลื่อนที่และเดสก์ท็อป