Các ví dụ sau đây cho biết cách truy xuất một phần phản hồi API trong YouTube Data API (phiên bản 3).
Lưu ý: Hướng dẫn bắt đầu của API cung cấp thêm thông tin chi tiết về một số yêu cầu và phản hồi.
API phiên bản 3 cho phép và thực sự yêu cầu truy xuất một phần tài nguyên để các ứng dụng tránh chuyển, phân tích cú pháp và lưu trữ dữ liệu không cần thiết. Phương pháp này cũng đảm bảo rằng API sử dụng tài nguyên mạng, CPU và bộ nhớ hiệu quả hơn.
API này hỗ trợ hai tham số yêu cầu là part
và fields
, cho phép bạn xác định các thuộc tính tài nguyên cần có trong phản hồi API. Tham số part
cũng xác định các thuộc tính mà các yêu cầu API chèn hoặc cập nhật tài nguyên cần đặt.
Xin lưu ý rằng nếu yêu cầu cập nhật không chỉ định giá trị cho một thuộc tính tài nguyên đã có giá trị trước đó, thì giá trị hiện có sẽ bị xoá nếu các điều kiện sau đây là đúng:
-
Yêu cầu có thể sửa đổi giá trị của thuộc tính. (Ví dụ: khi cập nhật tài nguyên
video
, bạn có thể cập nhật giá trị của thuộc tínhsnippet.description
, nhưng không thể cập nhật giá trị của đối tượngsnippet.thumbnails
. -
Giá trị tham số
part
của yêu cầu xác định phần tài nguyên chứa thuộc tính.
Ví dụ:
Ví dụ: giả sử bạn muốn cập nhật tài nguyên video
như dưới đây. (Lưu ý rằng bạn có thể cập nhật tất cả các thuộc tính hiển thị bên dưới thông qua API và các thuộc tính tài nguyên không liên quan đến ví dụ này đã bị bỏ qua.)
{ "snippet": { "title": "Old video title", "description": "Old video description", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 }, "status": { "privacyStatus": "private", "publishAt": "2014-09-01T12:00:00.0Z", "license": "youtube", "embeddable": True, "publicStatsViewable": True } }
Bạn gọi phương thức videos.update
và đặt giá trị tham số part
thành snippet
. Nội dung của yêu cầu API chứa tài nguyên sau:
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
Yêu cầu này sẽ cập nhật tiêu đề của video, xoá nội dung mô tả và không thay đổi thẻ hoặc mã danh mục của video. Nội dung mô tả của video bị xoá vì yêu cầu không chỉ định giá trị cho thuộc tính snippet.description
.
Các thuộc tính trong đối tượng status
hoàn toàn không bị ảnh hưởng vì giá trị tham số part
không bao gồm status
là một trong những phần mà yêu cầu sẽ cập nhật. Trên thực tế, nếu nội dung của yêu cầu API bao gồm đối tượng status
, thì API sẽ trả về phản hồi HTTP 400 (Bad Request)
do một phần không mong muốn có trong nội dung yêu cầu.