Poniższe przykłady pokazują, jak uzyskać częściowe odpowiedzi API w YouTube Data API (v3).
Uwaga: w przewodniku dla początkujących znajdziesz więcej informacji o częściowych żądaniach i odpowiedziach.
Interfejs API w wersji 3 umożliwia pobieranie informacji o częściach, dzięki czemu aplikacje nie muszą przesyłać, analizować ani przechowywać niepotrzebnych danych. Takie podejście zapewnia też wydajniejsze wykorzystanie zasobów sieciowych, CPU i pamięci.
Interfejs API obsługuje 2 parametry żądania: part
i fields
, które umożliwiają identyfikowanie właściwości zasobu, które powinny być uwzględniane w odpowiedziach interfejsu API. Parametr part
wskazuje też właściwości, które powinny być ustawiane przez żądania do interfejsu API wstawiane lub aktualizowane.
Pamiętaj, że jeśli żądanie aktualizacji nie określa wartości właściwości zasobu, która wcześniej miała wartość, istniejąca wartość zostanie usunięta, jeśli są spełnione te warunki:
-
Wartość właściwości można zmienić w żądaniu. Na przykład w przypadku aktualizowania zasobu
video
możesz zaktualizować wartość właściwościsnippet.description
, ale nie możesz zaktualizować wartości obiektusnippet.thumbnails
. -
Wartość parametru
part
żądania określa część zasobu zawierającą właściwość.
Przykład
Załóżmy, że chcesz zaktualizować zasób video
widoczny poniżej. (wszystkie wymienione poniżej właściwości można aktualizować za pomocą interfejsu API, a zasoby, które nie są istotne w przykładzie, zostały pominięte).
{ "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 } }
Wywołujesz metodę videos.update
i ustawiasz wartość parametru part
na snippet
. Treść żądania do interfejsu API zawiera ten zasób:
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
To żądanie aktualizuje tytuł filmu, usuwa jego opis i nie zmienia tagów ani identyfikatora kategorii. Opis filmu został usunięty, ponieważ żądanie nie określa wartości właściwości snippet.description
.
Nie ma to wpływu na właściwości w obiekcie status
, ponieważ wartość parametru part
nie zawiera wartości status
, ponieważ jedna z części zostanie zaktualizowana w żądaniu. Jeśli treść żądania do interfejsu API zawiera obiekt status
, to interfejs API zwróci odpowiedź HTTP 400 (Bad Request)
z powodu nieoczekiwanej części w treści żądania.