Poniższe przykłady pokazują, jak za pomocą interfejsu YouTube Data API (wersja 3) wykonywać funkcje związane z filmami.
Pobieranie przesłanych filmów z kanału
Ten przykład pobiera filmy przesłane na konkretny kanał. Przykład składa się z 2 etapów:
-
Krok 1. Pobierz identyfikator playlisty z przesłanymi filmami na kanale
Wywołaj metodę
channels.list
, aby pobrać identyfikator playlisty zawierającej przesłane filmy z kanału. Wartość parametrupart
w żądaniu musi zawieraćcontentDetails
jako jedną zchannel
pobieranych części zasobu. W odpowiedzi interfejsu API właściwośćcontentDetails.relatedPlaylists.uploads
zawiera identyfikator playlisty.Kanał można zidentyfikować na kilka sposobów:
-
Ustaw wartość parametru
mine
natrue
, aby pobrać informacje o kanale w YouTube aktualnie uwierzytelnionego użytkownika. Żądanie musi być autoryzowane za pomocą protokołu OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Ustaw parametr
forUsername
na nazwę użytkownika w YouTube, aby pobrać informacje o kanale powiązanym z tą nazwą. W tym przykładzie wartość parametruforUsername
jest ustawiona naGoogle
, aby pobrać informacje o oficjalnym kanale Google w YouTube.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
Ustaw parametr
id
na identyfikator kanału w YouTube, który jednoznacznie identyfikuje kanał, dla którego pobierasz informacje. W tym przykładzie parametrid
jest ustawiony naUCK8sQmJBp8GCxrOtXWBpyEA
, co również identyfikuje oficjalny kanał Google w YouTube.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 jest ustawiona naUUK8sQmJBp8GCxrOtXWBpyEA
, czyli listę filmów przesłanych na oficjalny kanał Google w YouTube.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
.
Lista mostPopular
obejmuje zyskujące popularność filmy muzyczne, filmy i filmy o grach.
Następnie możesz opcjonalnie ustawić te parametry:
regionCode
: nakazuje interfejsowi API zwrócenie listy filmów dla określonego regionu. Wartość parametru to kod kraju w formacie ISO 3166-1 alpha-2. Aby pobrać listę kodów regionów obsługiwanych przez YouTube, możesz użyć metodyi18nRegions.list
.videoCategoryId
: określa kategorię filmów, dla której mają zostać pobrane najpopularniejsze filmy. Aby pobrać listę identyfikatorów kategorii obsługiwanych przez YouTube, możesz użyć metodyvideoCategories.list
.
Na przykład to żądanie pobiera najpopularniejsze filmy o sporcie w Hiszpanii:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Prześlij film
Eksplorator interfejsów API nie obsługuje przesyłania plików, więc ten opis nie zawiera linku do przykładu wykonywalnego. Te materiały pomogą Ci zmodyfikować aplikację, aby można było przesyłać filmy za pomocą interfejsu API w wersji 3:
-
Dokumentacja metody videos.insert interfejsu API zawiera kilka przykładów kodu, które pokazują, jak przesyłać filmy w różnych językach programowania.
-
W przewodniku Przesyłanie z możliwością wznowienia znajdziesz opis sekwencji żądań HTTP, których aplikacja używa do przesyłania filmów z możliwością wznowienia. Ten przewodnik jest przeznaczony głównie dla deweloperów, którzy nie mogą korzystać z bibliotek klienta interfejsu API Google, z których niektóre zapewniają natywną obsługę wznawialnego przesyłania.
-
Przykład JavaScriptu dotyczący przesyłania filmu wykorzystuje CORS (współdzielenie zasobów pomiędzy serwerami z różnych domen), aby pokazać, jak przesłać plik wideo za pomocą strony internetowej. Biblioteka przesyłania CORS, której używa interfejs API w wersji 3, naturalnie obsługuje przesyłanie z możliwością wznowienia. Przykład pokazuje też, jak sprawdzić stan przesłanego filmu, pobierając część
processingDetails
zasobuvideo
, oraz 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 od razu widoczny na karcie przesłanych filmów uwierzytelnionego użytkownika. Film nie będzie jednak widoczny w YouTube, dopóki nie zostanie przetworzony.
-
Krok 1. Prześlij film
Wywołaj metodę
videos.insert
, aby przesłać film. Jeśli żądanie zostanie zrealizowane, odpowiedź interfejsu API będzie zawierać zasóbvideo
, który identyfikuje unikalny identyfikator filmu przesłanego przez użytkownika. -
Krok 2. Sprawdź stan filmu
Wywołaj metodę
videos.list
, aby sprawdzić stan filmu. Ustaw wartość parametruid
na identyfikator filmu uzyskany w kroku 1. Ustaw wartość parametrupart
naprocessingDetails
.Jeśli żądanie zostanie zrealizowane, odpowiedź interfejsu API będzie zawierać zasób
video
. Sprawdź wartość właściwościprocessingDetails.processingStatus
, aby określić, czy YouTube nadal przetwarza film. Gdy YouTube zakończy przetwarzanie filmu, wartość 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 chcesz usunąć. W tym przykładzie zasób zawiera też obiektrecordingDetails
.Poniższe żądanie sprawdza stan filmu. Aby dokończyć żądanie w Eksploratorze interfejsów API, 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 wysyłać do interfejsu API zapytania, aby okresowo sprawdzać stan nowo przesłanego filmu. Po przetworzeniu filmu aplikacja może utworzyć komunikat lub wykonać 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 nagrania. Przykład obejmuje te czynności:
-
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 kluczem.
Uwaga: istnieje wiele innych sposobów uzyskania identyfikatorów filmów, np. pobieranie wyników wyszukiwania lub wyświetlanie elementów na liście odtwarzania. Film może jednak aktualizować tylko jego właściciel, więc pierwszym krokiem w tym procesie jest 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
.Przykładowy zasób poniżej wskazuje, że film został nagrany 30 października 2013 r. w Bostonie:
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }
Aby dokończyć żądanie w Eksploratorze interfejsów API, musisz ustawić wartość właściwości
id
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Przesyłanie niestandardowego obrazu miniatury i ustawianie go dla filmu
Aby przesłać niestandardową miniaturę i ustawić ją dla filmu, możesz użyć metody thumbnails.set
interfejsu API w wersji 3. W żądaniu wartość parametru videoId
określa film, do którego będzie używana miniatura.
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 obejmuje te czynności:
-
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 kluczem.
Uwaga: istnieje wiele innych sposobów uzyskania identyfikatorów filmów, np. pobieranie wyników wyszukiwania lub wyświetlanie elementów na liście odtwarzania. Ponieważ jednak film może usunąć tylko jego właściciel, pierwszym krokiem w tym procesie jest prawdopodobnie pobranie listy filmów należących do użytkownika, który autoryzuje żądanie interfejsu API.
-
Krok 2. Usuń film
Wywołaj metodę
videos.delete
, aby usunąć konkretny film. W żądaniu parametrid
określa identyfikator filmu, który usuwasz. Żądanie musi być autoryzowane za pomocą protokołu OAuth 2.0. Jeśli testujesz to zapytanie w narzędziu APIs Explorer, musisz zastąpić wartość parametruid
prawidłowym identyfikatorem filmu.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 zawierający nieodpowiednie treści. Przykład obejmuje te czynności:
-
Krok 1. Pobierz identyfikatory, które wyjaśniają, dlaczego film jest zgłaszany
Wyślij autoryzowane żądanie do metody
videoAbuseReportReasons.list
, aby pobrać listę prawidłowych powodów zgłoszenia filmu. Przykładowy zasóbvideoAbuseReportReason
poniżej zawiera informacje o zgłaszaniu 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ą powodów dodatkowych. Gdy zgłaszasz film jako spam, musisz podać identyfikator powodu. Zalecamy też podanie drugiego powodu.
-
Krok 2. Zgłoś film z powodu treści obraźliwych
Wyślij autoryzowane żądanie do metody
Właściwośćvideos.reportAbuse
, aby zgłosić film. Treść żądania to obiekt JSON, który zawiera informacje o filmie, który jest zgłaszany, oraz powód zgłoszenia. Jak wspomnieliśmy w kroku 1, w przypadku niektórych typów powodów obsługiwany jest powód dodatkowy, który jest zdecydowanie zalecany.videoId
obiektu JSON identyfikuje film, który jest oznaczany.Przykładowy obiekt JSON poniżej oznacza film jako zawierający spam lub wprowadzające w błąd treści, a w szczególności jako wykorzystujący wprowadzającą w błąd miniaturę. Jak widać w przykładowym obiekcie JSON powyżej, identyfikator treści Spam lub treści wprowadzające w błąd to S. Identyfikator miniatur wprowadzających 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. Poniższy link otwiera w Eksploratorze interfejsów API obiekt JSON powyżej. Aby przetestować zapytanie, musisz zastąpić wartość właściwościvideoId
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