แสดงรายการและเรียกข้อมูลรายการสื่อ

เมื่อผู้ใช้เลือกรายการสื่อโดยใช้ Picker API แล้ว คุณจะเรียกข้อมูลเกี่ยวกับรายการเหล่านั้นและเข้าถึงเนื้อหาได้ คู่มือนี้จะอธิบายกระบวนการแสดงรายการและดึงข้อมูลรายการสื่อ

ก่อนจะเริ่ม

  • ทำความเข้าใจขั้นตอน: ดูเริ่มต้นใช้งาน Picker APIเพื่อดูภาพรวมของกระบวนการเลือกรูปภาพทั้งหมด
  • เลือกรายการสื่อให้เสร็จสมบูรณ์: ตรวจสอบว่าผู้ใช้เลือกรายการสื่อจากเซสชันเรียบร้อยแล้ว ดูรายละเอียดเพิ่มเติมได้ที่คําแนะนําเกี่ยวกับเซสชัน
  • ตรวจสอบขอบเขตการให้สิทธิ์ที่จําเป็น: การทำงานกับเซสชันต้องใช้ขอบเขต photospicker.mediaitems.readonly ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขตได้ที่ขอบเขตการให้สิทธิ์

แสดงรายการสื่อที่เลือก

  1. ใช้ปลายทาง mediaItems.list: ส่งคําขอ GET ไปยัง https://photospicker.googleapis.com/v1/mediaItems โดยระบุ sessionId เป็นพารามิเตอร์การค้นหา

  2. จัดการกับการใส่เลขหน้า (หากจำเป็น)

    หากผู้ใช้เลือกรายการเป็นจำนวนมาก ระบบอาจแบ่งการตอบกลับเป็นหน้า ใช้ nextPageToken ในการตอบกลับเพื่อเรียกข้อมูลหน้าถัดไป

  3. ประมวลผลรายการสื่อ: การตอบกลับจะมีอาร์เรย์ของออบเจ็กต์ PickedMediaItem โดยแต่ละรายการแสดงรายการสื่อที่เลือก ออบเจ็กต์เหล่านี้มีรายละเอียดสำคัญ เช่น

    • id: ตัวระบุที่ไม่ซ้ำกันสำหรับรายการสื่อ
    • baseUrl: URL พื้นฐานที่คุณสร้าง URL เพื่อเข้าถึงเนื้อหาของรายการสื่อที่ความละเอียดต่างๆ ได้
    • mimeType: ประเภท MIME ของรายการสื่อ (เช่น image/jpeg, video/mp4)

เรียกดูรายการสื่อที่เลือก

ตรวจสอบว่าคุณมีโทเค็นการเข้าถึง OAuth 2.0 ที่ถูกต้องซึ่งมีขอบเขต https://www.googleapis.com/auth/photospicker.mediaitems.readonly เพื่อให้สิทธิ์คําขอ

  • สร้าง URL ของเนื้อหา: ใช้ baseUrl จากออบเจ็กต์ PickedMediaItem ต่อความละเอียดหรือรูปแบบไฟล์ต่อท้าย baseUrl ดูรายละเอียดเพิ่มเติมได้ที่ส่วนเกี่ยวกับ URL พื้นฐาน

  • ดึงข้อมูลเนื้อหา: ส่งคำขอ GET ไปยัง URL ฐานของรายการสื่อ การตอบกลับจะประกอบด้วยไบต์ของรายการสื่อ (รูปภาพหรือวิดีโอ) มีตัวเลือก baseURL ที่แตกต่างกันหลายรายการ

URL ฐาน

URL ฐานใน Google Photos API ให้การเข้าถึงไบต์ดิบของรายการสื่อ ซึ่งช่วยให้แอปของคุณดาวน์โหลดหรือแสดงรายการเหล่านั้นได้ URL เหล่านี้จะรวมอยู่ในการตอบสนองเมื่อแสดงรายการอัลบั้ม (Library API) หรือเข้าถึงรายการสื่อ (ทั้ง API ไลบรารีและ API เครื่องมือเลือก) โปรดทราบว่า URL พื้นฐานต้องใช้พารามิเตอร์เพิ่มเติมจึงจะทํางานได้อย่างถูกต้อง

สำหรับ Picker API

ออบเจ็กต์ PickedMediaItem.mediaFile ทั้งหมดมี baseUrl

URL พื้นฐานจะทำงานอยู่เป็นเวลา 60 นาที แต่อาจหมดอายุเร็วกว่านั้นหากผู้ใช้เพิกถอนสิทธิ์ของแอปผ่านการตั้งค่าบัญชี Google

สำหรับ Library API

URL พื้นฐานจะทำงานอยู่เป็นเวลา 60 นาที

URL พื้นฐานต่างๆ มีดังนี้

  • baseUrl: เข้าถึงรูปภาพ ภาพขนาดย่อสำหรับวิดีโอ หรือไบต์ดาวน์โหลดของวิดีโอได้โดยตรง
  • coverPhotoBaseUrl: เข้าถึงรูปภาพปกของอัลบั้มโดยตรง
  • profilePictureBaseUrl: เข้าถึงรูปโปรไฟล์ของเจ้าของ mediaItem โดยตรง

URL ฐานของรูปภาพ

รายการตัวเลือกที่คุณใช้ได้กับ URL พื้นฐานของรูปภาพมีดังนี้

พารามิเตอร์
w h

คำอธิบาย

พารามิเตอร์ความกว้าง w และความสูง h

หากต้องการเข้าถึงรายการสื่อรูปภาพ เช่น รูปภาพหรือภาพขนาดย่อของวิดีโอ คุณต้องระบุขนาดที่คุณวางแผนจะแสดงในแอปพลิเคชัน (เพื่อให้ปรับขนาดรูปภาพเป็นขนาดเหล่านี้ได้ขณะที่ยังคงรักษาสัดส่วนภาพเดิมไว้) โดยให้ต่อท้าย URL พื้นฐานด้วยมิติข้อมูลที่ต้องการตามที่แสดงในตัวอย่าง

ตัวอย่างเช่น

base-url=wmax-width-hmax-height

ต่อไปนี้คือตัวอย่างการแสดงรายการสื่อที่มีความกว้างไม่เกิน 2048 พิกเซลและสูงไม่เกิน 1024 พิกเซล

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

คำอธิบาย

พารามิเตอร์ครอบตัด c

หากต้องการครอบตัดรูปภาพให้มีความกว้างและความสูงที่ตรงกับขนาดที่คุณระบุ ให้ต่อ URL พื้นฐานกับพารามิเตอร์ -c ที่ไม่บังคับ พร้อมกับพารามิเตอร์ w และ h ที่ต้องระบุ

ขนาด (เป็นพิกเซล) ควรอยู่ในช่วง [1, 16383] หากรูปภาพมีความกว้างหรือความสูงของรูปภาพเกินขนาดที่ขอ ระบบจะลดขนาดและครอบตัดรูปภาพ (โดยคงสัดส่วนภาพไว้)

ตัวอย่างเช่น

base-url=wmax-width-hmax-height-c

ในตัวอย่างนี้ แอปพลิเคชันจะแสดงรายการสื่อที่มีความกว้าง 256 พิกเซล x 256 พิกเซล เช่น ภาพขนาดย่อ

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

คำอธิบาย

พารามิเตอร์การดาวน์โหลด d

หากต้องการดาวน์โหลดรูปภาพที่เก็บรักษาข้อมูลเมตา Exif ทั้งหมดไว้ ยกเว้นข้อมูลเมตาของตำแหน่ง ให้เชื่อมต่อ URL พื้นฐานด้วยพารามิเตอร์ d

ตัวอย่างเช่น

base-url=d

ในตัวอย่างนี้ แอปพลิเคชันจะดาวน์โหลดรูปภาพที่มีข้อมูลเมตาทั้งหมดยกเว้นข้อมูลเมตาตำแหน่ง

https://lh3.googleusercontent.com/p/Az....XabC=d

URL หลักของวิดีโอ

รายการตัวเลือกที่คุณใช้ได้กับ URL พื้นฐานของวิดีโอมีดังนี้

พารามิเตอร์
dv

คำอธิบาย

หากต้องการเข้าถึงไบต์ของวิดีโอ mediaItem ให้ต่อbaseUrlเข้ากับพารามิเตอร์วิดีโอที่ดาวน์โหลด dv

พารามิเตอร์ dv จะขอวิดีโอต้นฉบับเวอร์ชันที่มีการแปลงรหัสคุณภาพสูง พารามิเตอร์นี้ใช้ร่วมกับพารามิเตอร์ w และ h ไม่ได้

URL ฐานสำหรับการดาวน์โหลดวิดีโออาจใช้เวลาถึง 2-3 วินาทีจึงจะแสดงผลไบต์

ก่อนใช้พารามิเตอร์นี้ ให้ตรวจสอบว่าช่อง mediaMetadata.status ของรายการสื่อเป็น READY มิเช่นนั้น คุณอาจพบข้อผิดพลาดหากรายการสื่อยังประมวลผลไม่เสร็จ

ตัวอย่างเช่น

base-url=dv

ตัวอย่างต่อไปนี้แสดงวิธีดาวน์โหลดไบต์ของวิดีโอ

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c และ d

คำอธิบาย

หากต้องการเข้าถึงภาพขนาดย่อของวิดีโอ ให้ใช้พารามิเตอร์ของ URL พื้นฐานสำหรับรูปภาพ

โดยค่าเริ่มต้น ภาพปกวิดีโอทั้งหมดจะมีปุ่มเล่นที่วางซ้อนอยู่ ดูพารามิเตอร์ -no เพื่อนำการวางซ้อนนี้ออก

ตัวอย่างเช่น

ดูตัวอย่างได้ที่ตาราง URL ฐานของรูปภาพ

no

คำอธิบาย

พารามิเตอร์ no สำหรับนำการวางซ้อนภาพปกออก

หากต้องการเรียกข้อมูลภาพปกของวิดีโอโดยไม่มีปุ่มเล่นที่วางซ้อน ให้ต่อ URL พื้นฐานกับพารามิเตอร์ no

ต้องใช้พารามิเตอร์ no กับพารามิเตอร์ของ URL ฐานรูปภาพอย่างน้อย 1 รายการ

ตัวอย่างเช่น

base-url=wmax-width-hmax-height-no

ตัวอย่างต่อไปนี้แสดงภาพขนาดย่อของวิดีโอที่มีความกว้าง 1280 พิกเซลและสูง 720 พิกเซลโดยไม่มีปุ่มเล่นวางซ้อน

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

URL ฐานของรูปภาพเคลื่อนไหว

รูปภาพเคลื่อนไหวมีองค์ประกอบทั้งรูปภาพและวิดีโอ คุณสามารถใช้พารามิเตอร์จาก URL ฐานรูปภาพหรือ URL ฐานวิดีโอสำหรับคำขอภาพเคลื่อนไหว baseUrl

พารามิเตอร์
dv

คำอธิบาย

หากต้องการดึงข้อมูลองค์ประกอบวิดีโอของรายการสื่อรูปภาพเคลื่อนไหว ให้ใช้พารามิเตอร์ dv เหมือนกับการดาวน์โหลดจาก URL ฐานของวิดีโอ

w, h, c และ d

คำอธิบาย

หากต้องการเรียกข้อมูลองค์ประกอบรูปภาพของรายการสื่อรูปภาพเคลื่อนไหว ให้ใช้รูปแบบสำหรับ URL ฐานรูปภาพ