Liệt kê và truy xuất các mục nội dung nghe nhìn

Sau khi người dùng chọn các mục nội dung đa phương tiện bằng API bộ chọn, bạn có thể truy xuất thông tin về các mục đó và truy cập vào nội dung của các mục đó. Hướng dẫn này trình bày quy trình liệt kê và truy xuất các mục nội dung nghe nhìn.

Trước khi bắt đầu

  • Tìm hiểu quy trình: Xem lại bài viết bắt đầu sử dụng Picker API để biết thông tin tổng quan về toàn bộ quy trình chọn ảnh.
  • Hoàn tất lựa chọn mục nội dung nghe nhìn: Đảm bảo người dùng đã chọn thành công các mục nội dung nghe nhìn trong phiên của họ. Hãy tham khảo hướng dẫn về phiên để biết thêm thông tin chi tiết.
  • Xem xét các phạm vi uỷ quyền bắt buộc: Bạn cần có phạm vi photospicker.mediaitems.readonly để xử lý các phiên. Để biết thêm thông tin về phạm vi, hãy xem phần Phạm vi uỷ quyền.

Liệt kê các mục nội dung nghe nhìn đã chọn

  1. Sử dụng điểm cuối mediaItems.list: Tạo yêu cầu GET đến https://photospicker.googleapis.com/v1/mediaItems, cung cấp sessionId làm tham số truy vấn.

  2. Xử lý phân trang (nếu cần):

    Nếu người dùng chọn một số lượng lớn mục, phản hồi có thể được phân trang. Sử dụng nextPageToken trong phản hồi để truy xuất các trang kết quả tiếp theo.

  3. Xử lý các mục nội dung nghe nhìn: Phản hồi sẽ chứa một mảng các đối tượng PickedMediaItem, mỗi đối tượng đại diện cho một mục nội dung nghe nhìn đã chọn. Các đối tượng này bao gồm các thông tin cần thiết như:

    • id: Giá trị nhận dạng duy nhất cho mục nội dung nghe nhìn.
    • baseUrl: URL cơ sở mà bạn có thể tạo URL để truy cập vào nội dung của mục nội dung đa phương tiện ở nhiều độ phân giải.
    • mimeType: Loại MIME của mục nội dung nghe nhìn (ví dụ: hình ảnh/jpeg, video/mp4).

Truy xuất các mục nội dung nghe nhìn đã chọn

Đảm bảo bạn có mã truy cập OAuth 2.0 hợp lệ với phạm vi https://www.googleapis.com/auth/photospicker.mediaitems.readonly để uỷ quyền cho các yêu cầu của mình.

  • Tạo URL nội dung: Sử dụng baseUrl từ đối tượng PickedMediaItem. Nối độ phân giải hoặc định dạng tệp vào baseUrl. Hãy xem phần về URL cơ sở để biết thêm chi tiết.

  • Tìm nạp nội dung: Tạo một yêu cầu GET đến URL cơ sở của mục nội dung nghe nhìn. Phản hồi sẽ chứa các byte của mục nội dung nghe nhìn (hình ảnh hoặc video). Có một số tuỳ chọn baseURL.

URL cơ sở

URL cơ sở trong API Google Photos cung cấp quyền truy cập vào các byte thô của các mục nội dung nghe nhìn, cho phép ứng dụng của bạn tải xuống hoặc hiển thị các mục đó. Các URL này được đưa vào phản hồi khi liệt kê album (API Thư viện) hoặc truy cập vào các mục nội dung nghe nhìn (cả API Thư viện và API Bộ chọn). Hãy nhớ rằng URL cơ sở cần có thêm các tham số để hoạt động đúng cách.

Đối với API bộ chọn:

Tất cả đối tượng PickedMediaItem.mediaFile đều bao gồm một baseUrl.

URL cơ sở vẫn đang hoạt động trong 60 phút, nhưng có thể hết hạn sớm hơn nếu người dùng thu hồi quyền của ứng dụng thông qua phần cài đặt Tài khoản Google của họ.

Đối với API Thư viện:

URL cơ sở vẫn hoạt động trong 60 phút.

Có nhiều URL cơ sở như sau:

  • baseUrl: Truy cập trực tiếp vào ảnh, hình thu nhỏ của video hoặc tải video xuống.
  • coverPhotoBaseUrl: Truy cập trực tiếp vào ảnh bìa của album.
  • profilePictureBaseUrl: Truy cập trực tiếp vào ảnh hồ sơ của chủ sở hữu mediaItem.

URL cơ sở của hình ảnh

Dưới đây là danh sách các tuỳ chọn mà bạn có thể sử dụng với URL cơ sở của hình ảnh:

Thông số
w, h

Nội dung mô tả

Các tham số chiều rộng, w và chiều cao, h.

Để truy cập vào một mục nội dung nghe nhìn hình ảnh, chẳng hạn như ảnh hoặc hình thu nhỏ của một video, bạn phải chỉ định kích thước mà bạn dự định hiển thị trong ứng dụng (để hình ảnh có thể được điều chỉnh theo các kích thước này trong khi vẫn giữ nguyên tỷ lệ khung hình). Để thực hiện việc này, hãy nối URL cơ sở với các kích thước bắt buộc như trong ví dụ.

Ví dụ:

base-url=wmax-width-hmax-height

Dưới đây là ví dụ về cách hiển thị một mục nội dung nghe nhìn không rộng hơn 2048 px và không cao hơn 1024 px:

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

Nội dung mô tả

Tham số cắt, c.

Nếu bạn muốn cắt hình ảnh theo kích thước chiều rộng và chiều cao chính xác mà bạn đã chỉ định, hãy nối URL cơ sở với tham số -c không bắt buộc cùng với các tham số wh bắt buộc.

Kích thước (tính bằng pixel) phải nằm trong khoảng [1, 16383]. Nếu chiều rộng hoặc chiều cao của hình ảnh vượt quá kích thước được yêu cầu, thì hình ảnh sẽ được giảm tỷ lệ và cắt bớt (duy trì tỷ lệ khung hình).

Ví dụ:

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

Trong ví dụ này, ứng dụng hiển thị một mục nội dung nghe nhìn có chiều rộng và chiều cao bằng đúng 256 px, chẳng hạn như hình thu nhỏ:

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

Nội dung mô tả

Tham số tải xuống, d.

Nếu bạn muốn tải hình ảnh xuống và giữ lại tất cả siêu dữ liệu Exif ngoại trừ siêu dữ liệu vị trí, hãy nối URL cơ sở với tham số d.

Ví dụ:

base-url=d

Trong ví dụ này, ứng dụng sẽ tải một hình ảnh xuống có tất cả siêu dữ liệu ngoại trừ siêu dữ liệu vị trí:

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

URL cơ sở của video

Dưới đây là danh sách các tuỳ chọn mà bạn có thể sử dụng với URL cơ sở của video:

Thông số
dv

Nội dung mô tả

Để truy cập vào các byte của video mediaItem, hãy nối baseUrl với tham số tải video xuống dv.

Tham số dv yêu cầu phiên bản video gốc đã chuyển mã, chất lượng cao. Tham số này không tương thích với các tham số wh.

URL cơ sở để tải video xuống có thể mất vài giây để trả về số byte.

Trước khi sử dụng tham số này, hãy kiểm tra để đảm bảo trường mediaMetadata.status của các mục nội dung nghe nhìn là READY. Nếu không, nếu mục nội dung nghe nhìn của bạn chưa xử lý xong, bạn có thể nhận được lỗi.

Ví dụ:

base-url=dv

Ví dụ sau đây cho bạn biết cách tải các byte của một video xuống:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, cd

Nội dung mô tả

Để truy cập vào hình thu nhỏ của video, hãy sử dụng bất kỳ thông số URL cơ sở của hình ảnh nào.

Theo mặc định, tất cả hình thu nhỏ video đều có một lớp phủ nút phát. Hãy xem tham số -no để xoá lớp phủ này.

Ví dụ:

Hãy tham khảo bảng URL cơ sở của hình ảnh để biết ví dụ.

no

Nội dung mô tả

Lớp phủ xoá hình thu nhỏ, tham số no.

Nếu bạn muốn truy xuất hình thu nhỏ của một video mà không có lớp phủ của nút phát, hãy nối URL cơ sở với tham số no.

Bạn phải sử dụng tham số no với ít nhất một trong các tham số URL cơ sở hình ảnh.

Ví dụ:

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

Ví dụ sau đây cho thấy một hình thu nhỏ video có chiều rộng chính xác là 1280 px và chiều cao là 720 px, không bao gồm lớp phủ nút phát:

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

URL cơ sở của ảnh chuyển động

Ảnh chuyển động chứa cả phần tử ảnh và video. Bạn có thể sử dụng các tham số từ URL cơ sở hình ảnh hoặc URL cơ sở video cho các yêu cầu baseUrl ảnh động.

Thông số
dv

Nội dung mô tả

Để truy xuất phần tử video của một mục nội dung đa phương tiện ảnh động, hãy sử dụng tham số dv như khi bạn tải xuống từ URL cơ sở video.

w, h, cd

Nội dung mô tả

Để truy xuất phần tử ảnh của một mục nội dung đa phương tiện ảnh động, hãy sử dụng định dạng cho URL cơ sở của hình ảnh.