Последнее видео, загруженное на канале YouTube

#api #video #youtube #youtube-channels

#API #Видео #YouTube #youtube-каналы

Вопрос:

Мне нужно показать миниатюру последнего видео на моем канале YouTube на моем веб-сайте и добавить ссылку на это видео. При использовании параметра API date отображается первое видео на этом канале. Вместо этого мне нужно последнее опубликованное видео с подробными сведениями о том, как это решить

Это то, что я использовал, поскольку мне требуется только одно последнее видео

https://www.googleapis.com/youtube/v3/search?key=[key]amp;channelId=[channel-id]amp;part=snippet,idamp;order=relevanceamp;maxResults=1

Ответ №1:

(вариант 1)

Вы могли бы попробовать заменить order=relevance на order=date

попробуйте:

https://www.googleapis.com/youtube/v3/search?key=[key]amp;channelId=[channel-id]amp;part=snippet,idamp;order=dateamp;maxResults=1

(вариант 2)

Вы также можете попробовать использовать publishedAfter команду (которая принимает формат год-месяц-день).
Пример: publishedAfter=2019-03-25T00:00:00Z (потому что вчера было 25 марта).

попробуйте:

https://www.googleapis.com/youtube/v3/search?key=[key]amp;channelId=[channel-id]amp;part=snippet,idamp;publishedAfter=2019-03-25T00:00:00Zamp;order=dateamp;maxResults=1

(вариант 3)

Используйте свой язык программирования для извлечения / чтения исходного HTML-кода uploads страницы канала. Первый эскиз, указанный после gridVideoRenderer , является последним вместе с соответствующим URL.

Примерные шаги:

1) Перейдите на страницу загрузки пользователя и используйте опцию «просмотреть исходный код», чтобы просмотреть HTML-текст (исходный код).
Этот текст должен отображаться на вашем языке программирования при http-запросе ссылки на загруженные материалы канала.

https://www.youtube.com/user/MARVEL/videos

2) После получения (или просмотра) исходного кода

  • Оттуда найдите позицию слова gridVideoRenderer .

  • Затем, начиная с позиции, найдите первое вхождение word "url":" .

  • Это URL-адрес. Извлеките вручную или напишите код, чтобы сделать это автоматически.
    PS: Замените любой юникод в ссылке, например, u0026 на amp; .

https://i.ytimg.com/vi/QuP7V2gKgPI/hqdefault.jpg?sqp=-oaymwEZCPYBEIoBSFXyq4qpAwsIARUAAIhCGAFwAQ==amp;rs=AOn4CLDBeSfAIiCdLDKtA8h2G-AZqk-xhQ

Комментарии:

1. Вариант 1 — Перепробовал все возможные значения для параметра order. Вариант 2 — это вернет первое видео после указанной даты. Если мы загрузим новые видео, которые не будут доступны. Мне нужно динамически извлекать самое последнее видео и отображать миниатюру. Я искал так много вариантов и получил информацию о том, что YouTube временно остановил эту функциональность, смотрите эту ссылку issuetracker.google.com/issues/129264189

2. Какой у вас фактический язык программирования для этой задачи? Если это JavaScript, то вы не можете получить доступ к тексту исходного кода из-за проблемы с CORS.

Ответ №2:

Я попробовал «вариант 1» с моим собственным ключом и получил правильный ответ относительно того, какое «видео» с «Канала» — НИКАКИХ миниатюр, только ссылки на него / них, следующий код:

 {
  "kind": "youtube#searchListResponse",
  "etag": "EymHvUd1w4o13UcSUT0C9YINu3o",
  "nextPageToken": "CAEQAA",
  "regionCode": "US",
  "pageInfo": {
    "totalResults": 181,
    "resultsPerPage": 1
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "23QGL4Y9Du8EXMntX5ZNdr1F7_k",
      "id": {
        "kind": "youtube#video",
        "videoId": "RRQjUvoSuKU"
      },
      "snippet": {
        "publishedAt": "2022-11-13T15:09:07Z",
        "channelId": "UCbhMYK2QQXgHjgnMN3zegRQ",
        "title": "All Things Closely",
        "description": "Luke 1:1-4.",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/RRQjUvoSuKU/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/RRQjUvoSuKU/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/RRQjUvoSuKU/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "Restoration Church Homestead",
        "liveBroadcastContent": "none",
        "publishTime": "2022-11-13T15:09:07Z"
      }
    }
  ]
}
  

ЭТО все, что отображалось на странице браузера, никаких миниатюр — просто код, но не смог понять, как получить какой-либо код в строке для воспроизведения этого видео…
есть идеи?
Я бы хотел, чтобы оно было просто ссылкой, а не любыми другими скриптами, загруженными на сервер. Я что-то упускаю, вероятно, простое, я уверен, чтобы получить возвращенное видео, связанное с данными для воспроизведения.