Wdrożenie: filmy

Poniższe przykłady pokazują, jak korzystać z interfejsu YouTube Data API (v3) w celu obsługi funkcji związanych z filmami.

Pobieranie filmów przesłanych na kanał

Ten przykład pozwala pobrać filmy przesłane na określony kanał. Przykład obejmuje 2 kroki:

Ten przykład pokazuje, jak pobrać listę najpopularniejszych filmów w YouTube wybieranych przy użyciu algorytmu, który łączy 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. Pobierając tę listę, możesz ustawić jeden z tych parametrów lub oba naraz:

  • regionCode: powoduje, że interfejs API zwraca listę filmów z danego regionu.
  • videoCategoryId: identyfikuje kategorię filmów, z których należy pobrać najpopularniejsze filmy.

Poniżej znajduje się lista najpopularniejszych filmów sportowych z Hiszpanii:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

Prześlij film

Ponieważ interfejs API Explorer nie obsługuje przesyłania plików, ten opis nie zawiera linku do przykładu pliku wykonywalnego. Poniższe zasoby pomogą Ci zmodyfikować aplikację tak, aby mogła przesyłać filmy za pomocą interfejsu API w wersji 3:

  • Dokumentacja metody videos.insert interfejsu API zawiera kilka przykładów kodu wyjaśniających, jak przesłać film w innym języku programowania.

  • Przewodnik po wznawianiu przesyłania zawiera omówienie sekwencji żądań HTTP, których aplikacja używa do przesyłania filmów z wykorzystaniem procesu wznawiania. Przewodnik jest przeznaczony głównie dla deweloperów, którzy nie mogą korzystać z bibliotek klienta interfejsu API Google. Niektóre z nich umożliwiają natywne przesyłanie plików z wznowionym przesyłaniem.

  • W przykładzie JavaScriptu dotyczącym przesyłania filmów użyto języka CORS (udostępniania zasobów z innych domen), aby pokazać, jak przesłać plik wideo na stronie internetowej. Biblioteka przesyłania CORS, której interfejs API w wersji 3 używa w sposób naturalny, aby można było wznowić przesyłanie. Dodatkowo pokazujemy, jak sprawdzić stan przesłanego filmu, pobierając część processingDetails z zasobu video oraz jak obsługiwać zmiany stanu przesłanego filmu.

Sprawdzanie stanu przesłanego filmu

Z tego przykładu dowiesz się, jak sprawdzić stan przesłanego filmu. Przesłany film będzie od razu widoczny w przesłanym filmie uwierzytelnionego użytkownika. Jednak film nie będzie 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ób video, który określa unikalny identyfikator przesłanego filmu.

  • Krok 2. Sprawdź stan filmu

    Wywołaj metodę videos.list, aby sprawdzić stan filmu. Ustaw wartość parametru id na identyfikator filmu uzyskanego w kroku 1. Ustaw wartość parametru part na processingDetails.

    Jeśli żądanie zostanie przetworzone, odpowiedź interfejsu API będzie zawierać zasób video. Sprawdź wartość właściwości processingDetails.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 lub failed.

    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ż obiekt recordingDetails.

    Żądanie poniżej pozwala sprawdzić stan filmu. Aby przesłać żą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 sprawdzać interfejs API, aby okresowo sprawdzać stan nowo przesłanych filmów. Po przetworzeniu filmu może on utworzyć biuletyn lub wykonać inne działanie uzależnione od stanu filmu.

Aktualizowanie filmu

Ten przykład pokazuje, jak zaktualizować film, dodając informacje o czasie i miejscu nagrania. Oto przykładowe czynności:

  • Krok 1. Pobierz identyfikator filmu

    Wykonaj czynności opisane powyżej, aby pobrać przesłane filmy z kanału obecnie uwierzytelnionego użytkownika. Ta lista może służyć do wyświetlania listy filmów z użyciem identyfikatora każdego z nich jako klucza.

    Uwaga: identyfikatory filmów możesz uzyskać na wiele innych sposobów, np. korzystając z wyników wyszukiwania lub pozycji z playlisty. Ponieważ jednak film może być aktualizowany tylko przez właściciela, pobieranie listy filmów należących do użytkownika uprawnionego do żądania interfejsu API jest prawdopodobnie pierwszym etapem tego procesu.

  • Krok 2. Zaktualizuj film

    Wywołaj metodę videos.update, aby zaktualizować konkretny film. Ustaw wartość parametru part na recordingDetails. 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 wideo, który aktualizujesz. W tym przykładzie zasób zawiera też obiekt recordingDetails.

    Przykładowy zasób pokazuje, ż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 przesłać żą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

Prześlij niestandardową miniaturę i ustaw ją dla filmu

Aby przesłać niestandardowy obraz miniatury i ustawić go na potrzeby filmu, możesz użyć metody thumbnails.set interfejsu API w wersji 3. Wartość parametru videoId w Twoim żądaniu wskazuje film, w którym zostanie użyta miniatura.

Tego zapytania nie można przetestować za pomocą narzędzia APIs Explorer, ponieważ nie umożliwia ono przesyłania plików multimedialnych, co jest wymagane w przypadku tej metody.

Powiązane przykłady kodu: PHP, Python

Usuwanie filmów

Ten przykład pokazuje, jak usunąć film. Oto przykładowe czynności:

  • Krok 1. Pobierz identyfikator filmu

    Wykonaj czynności opisane powyżej, aby pobrać przesłane filmy z kanału obecnie uwierzytelnionego użytkownika. Ta lista może służyć do wyświetlania listy filmów z użyciem identyfikatora każdego z nich jako klucza.

    Uwaga: identyfikatory filmów możesz uzyskać na wiele innych sposobów, np. korzystając z wyników wyszukiwania lub pozycji z playlisty. Ponieważ jednak film może usunąć tylko jego właściciel, pobieranie listy filmów należących do użytkownika uprawnionego do żądania interfejsu API jest prawdopodobnie pierwszym etapem tego procesu.

  • Krok 2. Usuń film

    Aby usunąć konkretny film, użyj metody videos.delete. W żądaniu parametr id określa identyfikator filmu, który chcesz usunąć. Żądanie musi być autoryzowane przez OAuth 2.0. Jeśli testujesz to zapytanie w narzędziu APIs Explorer, musisz zastąpić prawidłowy identyfikator filmu wartością parametru id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Zgłoś film naruszający zasady

Ten przykład pokazuje, jak zgłosić film zawierający nieodpowiednie treści. Oto przykładowe 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ób videoAbuseReportReason poniżej zawiera informacje dotyczące zgłaszania filmu, który zawiera spam lub treści wprowadzające w błąd.

    {
      "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, przyczyna jest powiązana z listą przyczyn dodatkowych. Zgłaszając film zawierający spam, musisz podać identyfikator przyczyny. Zalecamy również podanie dodatkowego powodu.

  • Krok 2. Zgłoś film jako naruszający zasady

    Aby zgłosić film, wyślij autoryzowane żądanie do metody videos.reportAbuse. Treść żądania jest obiektem JSON, który identyfikuje zarówno zgłoszony film, jak i jego przyczynę. Jak już wspomnieliśmy w kroku 1, w przypadku niektórych rodzajów przyczyn druga przyczyna jest zalecana i zdecydowanie zalecana.

    Właściwość videoId obiektu JSON identyfikuje film, który jest oznaczony.

    Przykładowy obiekt JSON poniżej zgłasza film zawierający spam lub treści wprowadzające w błąd, a konkretnie jako obraz miniatury, który wprowadza w błąd. Jak pokazano w przykładowym obiekcie JSON, 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. Link poniżej wczytuje obiekt JSON w narzędziu APIs Explorer. Aby przetestować zapytanie, musisz zastąpić prawidłowy identyfikator filmu wartością właściwości videoId. Pamiętaj, że zgłoszenie tej prośby spowoduje faktyczne zgłoszenie filmu.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse