#api #video #youtube #youtube-channels
#API #Видео #YouTube #youtube-каналы
Вопрос:
Мне нужно показать миниатюру последнего видео на моем канале YouTube на моем веб-сайте и добавить ссылку на это видео. При использовании параметра API date отображается первое видео на этом канале. Вместо этого мне нужно последнее опубликованное видео с подробными сведениями о том, как это решить
Это то, что я использовал, поскольку мне требуется только одно последнее видео
Ответ №1:
(вариант 1)
Вы могли бы попробовать заменить order=relevance
на order=date
попробуйте:
(вариант 2)
Вы также можете попробовать использовать publishedAfter
команду (которая принимает формат год-месяц-день).
Пример: publishedAfter=2019-03-25T00:00:00Z
(потому что вчера было 25 марта).
попробуйте:
(вариант 3)
Используйте свой язык программирования для извлечения / чтения исходного HTML-кода uploads
страницы канала. Первый эскиз, указанный после gridVideoRenderer
, является последним вместе с соответствующим URL.
Примерные шаги:
1) Перейдите на страницу загрузки пользователя и используйте опцию «просмотреть исходный код», чтобы просмотреть HTML-текст (исходный код).
Этот текст должен отображаться на вашем языке программирования при http-запросе ссылки на загруженные материалы канала.
https://www.youtube.com/user/MARVEL/videos
2) После получения (или просмотра) исходного кода
-
Оттуда найдите позицию слова
gridVideoRenderer
. -
Затем, начиная с позиции, найдите первое вхождение word
"url":"
. -
Это URL-адрес. Извлеките вручную или напишите код, чтобы сделать это автоматически.
PS: Замените любой юникод в ссылке, например,u0026
наamp;
.
Комментарии:
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"
}
}
]
}
ЭТО все, что отображалось на странице браузера, никаких миниатюр — просто код, но не смог понять, как получить какой-либо код в строке для воспроизведения этого видео…
есть идеи?
Я бы хотел, чтобы оно было просто ссылкой, а не любыми другими скриптами, загруженными на сервер. Я что-то упускаю, вероятно, простое, я уверен, чтобы получить возвращенное видео, связанное с данными для воспроизведения.