Przykłady poniżej pokazują, jak używać interfejsu YouTube Data API (w wersji 3) do wykonywania funkcji związanych z filmami.
Pobieranie przesłanych filmów z kanału
W tym przykładzie pobierane są filmy przesłane na określony kanał. Przykład składa się z 2 etapów:
-
Krok 1. Pobierz identyfikator playlisty przesłanych filmów na kanale
Aby pobrać identyfikator playlisty zawierającej przesłane filmy z kanału, wywołaj metodę
channels.list
. Wartość parametrupart
żądania musi zawieraćcontentDetails
jako jeden z wykonywanych zapytań do części zasobuchannel
. W odpowiedzi interfejsu API właściwośćcontentDetails.relatedPlaylists.uploads
zawiera identyfikator playlisty.Kanał możesz zidentyfikować na kilka sposobów:
-
Aby pobrać informacje o kanale YouTube aktualnie uwierzytelnionego użytkownika, ustaw wartość parametru
mine
natrue
. Żądanie musi być autoryzowane za pomocą OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Aby pobrać informacje o kanale powiązanym z daną nazwą użytkownika, ustaw parametr
forUsername
na nazwę użytkownika w YouTube. W tym przykładzie wartość parametruforUsername
jest ustawiona naGoogle
, aby pobrać informacje z oficjalnego kanału YouTube Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
Parametr
id
ustaw na identyfikator kanału w YouTube, który jednoznacznie identyfikuje kanał, z którego pobierane są informacje. W tym przykładzie parametrid
ma wartośćUCK8sQmJBp8GCxrOtXWBpyEA
, która identyfikuje oficjalny kanał YouTube Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
Krok 2. Pobierz listę przesłanych filmów
Aby pobrać listę przesłanych filmów, wywołaj metodę
playlistItems.list
. Ustaw wartość parametruplaylistId
na wartość uzyskaną w kroku 1. W tym przykładzie wartość parametru toUUK8sQmJBp8GCxrOtXWBpyEA
, czyli lista filmów przesłanych na oficjalny kanał YouTube Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
Pobieranie najpopularniejszych filmów
Ten przykład pokazuje, jak pobrać listę najpopularniejszych filmów w YouTube, które są wybierane za pomocą algorytmu łączącego wiele różnych sygnałów w celu określenia ogólnej popularności.
Aby pobrać listę najpopularniejszych filmów, wywołaj metodę videos.list
i ustaw wartość parametru chart
na mostPopular
. Podczas pobierania tej listy możesz też ustawić jeden lub oba te parametry:
regionCode
: instruuje interfejs API, aby zwrócił listę filmów w określonym regionie.videoCategoryId
: określa kategorię filmów, z których mają zostać pobrane najpopularniejsze filmy.
Poniższe żądanie zwraca najpopularniejsze filmy sportowe w Hiszpanii:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Prześlij film
Ponieważ Eksplorator interfejsów API nie obsługuje przesyłania plików, ten opis nie zawiera linku do przykładowego pliku wykonywalnego. Te materiały pomogą Ci zmodyfikować aplikację, aby mogła przesyłać filmy za pomocą interfejsu API v3:
-
Dokumentacja metody videos.insert interfejsu API zawiera kilka przykładów kodu, które pokazują, jak przesłać film za pomocą różnych języków programowania.
-
W przewodniku Przerywane przesyłanie opisano sekwencję żądań HTTP, których aplikacja używa do przesyłania filmów w ramach przerywanego procesu przesyłania. Przewodnik jest przeznaczony przede wszystkim dla deweloperów, którzy nie mogą korzystać z bibliotek klienta interfejsu API Google, z których niektóre obsługują wbudowane wznawialne przesyłanie.
-
Przykład kodu JavaScript służącego do przesyłania filmu korzysta z mechanizmu CORS (współdzielenie zasobów między serwerami z różnych domen), aby zademonstrować przesyłanie pliku wideo za pomocą strony internetowej. Biblioteka przesyłania CORS, której używa interfejs API w wersji 3, obsługuje w naturalny sposób przesyłanie z możliwością wznowienia. Przykład pokazuje też, jak sprawdzić stan przesłanego filmu przez pobranie części
processingDetails
zasobuvideo
, a także jak obsługiwać zmiany stanu przesłanego filmu.
Sprawdzanie stanu przesłanego filmu
Ten przykład pokazuje, jak sprawdzić stan przesłanego filmu. Przesłany film będzie natychmiast widoczny na karcie przesłanych filmów zalogowanego użytkownika. Film nie będzie jednak widoczny w YouTube, dopóki nie zostanie przetworzony.
-
Krok 1. Prześlij film
Aby przesłać film, użyj metody
videos.insert
. Jeśli żądanie zostanie zrealizowane, odpowiedź interfejsu API będzie zawierać zasóbvideo
, który identyfikuje unikalny identyfikator przesłanego filmu. -
Krok 2. Sprawdź stan filmu
Aby sprawdzić stan filmu, użyj metody
videos.list
. Ustaw wartość parametruid
na identyfikator filmu uzyskany w kroku 1. Ustaw wartość parametrupart
naprocessingDetails
.Jeśli żądanie zostanie obsłużone, odpowiedź interfejsu API będzie zawierać zasób
video
. Aby sprawdzić, czy YouTube nadal przetwarza film, sprawdź wartość właściwościprocessingDetails.processingStatus
. Gdy YouTube zakończy przetwarzanie filmu, wartość tej właściwości zmieni się na inną niżprocessing
, np.succeeded
lubfailed
.Treść żądania to zasób
video
, w którym właściwośćid
określa identyfikator filmu, który usuwasz. W tym przykładzie zasób zawiera też obiektrecordingDetails
.Poniższe żądanie sprawdza stan filmu. Aby przesłać żądanie w interfejsie APIs Explorer, musisz ustawić wartość właściwości
id
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
Uwaga: aplikacja może okresowo sprawdzać stan nowo przesłanego filmu, korzystając do tego celu z interfejsu API. Po przetworzeniu filmu aplikacja może utworzyć komunikat lub podjąć inne działanie w zależności od stanu filmu.
Aktualizowanie filmu
Ten przykład pokazuje, jak zaktualizować film, aby dodać informacje o czasie i miejscu jego nagrania. Przykład zawiera te kroki:
-
Krok 1. Pobierz identyfikator filmu
Wykonaj czynności opisane powyżej, aby pobrać przesłane filmy z kanału aktualnie uwierzytelnionego użytkownika. Lista może służyć do wyświetlania listy filmów, przy czym jako klucza używa się identyfikatora każdego filmu.
Uwaga: istnieją różne sposoby uzyskiwania identyfikatorów filmów, na przykład pobieranie wyników wyszukiwania lub wyświetlanie elementów na liście playlist. Ponieważ jednak film może być aktualizowany tylko przez jego właściciela, pierwszym krokiem w tym procesie będzie prawdopodobnie pobranie listy filmów należących do użytkownika, który autoryzuje żądanie interfejsu API.
-
Krok 2. Zaktualizuj film
Aby zaktualizować konkretny film, wywołaj metodę
videos.update
. Ustaw wartość parametrupart
narecordingDetails
. (wartość parametru zależy od tego, które pola metadanych filmu są aktualizowane).Treść żądania to zasób
video
, w którym właściwośćid
określa identyfikator filmu, który aktualizujesz. W tym przykładzie zasób zawiera też obiektrecordingDetails
.Poniżej znajdziesz przykładowy zasób, który wskazuje, że film został nagrany 30 października 2013 roku w Bostonie:
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }
Aby przesłać żądanie w interfejsie APIs Explorer, musisz ustawić wartość właściwości
id
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Przesyłanie niestandardowej miniatury i ustawienie jej dla filmu
Aby przesłać niestandardową miniaturę i ustawić ją dla filmu, możesz użyć metody thumbnails.set
interfejsu API v3. W żądaniu wartość parametru videoId
wskazuje film, którego miniatura ma być używana.
Nie można przetestować tego zapytania za pomocą narzędzia APIs Explorer, ponieważ nie obsługuje ono przesyłania plików multimedialnych, co jest wymagane w przypadku tej metody.
Usuwanie filmów
Ten przykład pokazuje, jak usunąć film. Przykład zawiera te kroki:
-
Krok 1. Pobierz identyfikator filmu
Wykonaj czynności opisane powyżej, aby pobrać przesłane filmy z kanału aktualnie uwierzytelnionego użytkownika. Lista może służyć do wyświetlania listy filmów, przy czym identyfikator każdego filmu jest używany jako klucz.
Uwaga: istnieją różne sposoby uzyskiwania identyfikatorów filmów, na przykład pobieranie wyników wyszukiwania lub wyświetlanie elementów na liście playlist. Ponieważ jednak film może usunąć tylko jego właściciel, pierwszym krokiem w tym procesie będzie prawdopodobnie pobranie listy filmów należących do użytkownika autoryzującego żądanie interfejsu API.
-
Krok 2. Usuń film
Aby usunąć konkretny film, wywołaj metodę
videos.delete
. W żądaniu parametrid
określa identyfikator filmu, który usuwasz. Żądanie musi być autoryzowane za pomocą OAuth 2.0. Jeśli testujesz to zapytanie w narzędziu APIs Explorer, musisz zastąpić prawidłowy identyfikator filmu wartością parametruid
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
Zgłaszanie filmu naruszającego zasady
Ten przykład pokazuje, jak zgłosić film, który zawiera treści obraźliwe. Przykład zawiera te kroki:
-
Krok 1. Pobierz identyfikatory, które wyjaśniają, dlaczego film jest zgłaszany
Aby pobrać listę prawidłowych przyczyn oznaczenia filmu, wyślij autoryzowane żądanie do metody
videoAbuseReportReasons.list
. Przykładowy dokumentvideoAbuseReportReason
poniżej zawiera informacje o oznaczaniu filmów zawierających spam lub wprowadzające w błąd treści.{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }
Jak widać w zasobie, ten powód jest powiązany z listą dodatkowych powodów. Flagując film z powodu spamu, musisz podać jego identyfikator jako powód. Zalecamy też podanie dodatkowego powodu.
-
Krok 2. Oznacz film jako zawierający treści obraźliwe
Aby zgłosić film, wyślij autoryzowany wniosek za pomocą metody
Właściwośćvideos.reportAbuse
. Treść żądania to obiekt JSON, który identyfikuje film oznaczony flagą oraz powód, dla którego został on oznaczony. Jak wspomniano w kroku 1, w przypadku niektórych typów przyczyny można podać dodatkowy powód i jest to bardzo zalecane.videoId
obiektu JSON wskazuje film, który ma zostać oznaczony.Poniżej znajduje się przykładowy obiekt JSON, który oznacza film jako zawierający spam lub wprowadzające w błąd treści, a konkretnie jako wykorzystujący wprowadzającą w błąd miniaturę. Jak widać na przykładowym obiekcie JSON powyżej, identyfikator treści spamowych lub wprowadzających w błąd to S. Identyfikator miniatury wprowadzającej w błąd to 28.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }
Żądanie
videos.reportAbuse
musi być autoryzowane za pomocą protokołu OAuth 2.0. Po kliknięciu tego linku obiekt JSON zostanie wczytany w APIs Explorer. Aby przetestować zapytanie, musisz zastąpić wartość atrybutuvideoId
prawidłowym identyfikatorem filmu. Pamiętaj, że przesłanie tej prośby spowoduje zgłoszenie filmu.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse