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

เมื่อผู้ใช้เลือกรายการสื่อโดยใช้ 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) หรือเข้าถึงรายการสื่อ (ทั้ง Library และ Picker 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 พิกเซลและสูง 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 ฐานรูปภาพ