Я пытаюсь определить, загружается ли видео как «короткое» или как обычное/длинное видео через API данных v3.
Я проверяю информацию о видео через:
https://www.googleapis.com/youtube/v3/videos?key=[API_KEY]&id=[VIDEO_ID]&part=snippet
Но ничего не возвращенное, похоже, указывает мне на то или иное.
К сожалению, нет, хотя вопрос тот же, ответы не дают хороших решений. Один из них предполагает дополнительный вызов URL-адреса /shorts/[VIDEO_ID]
для захвата кода ответа HTTP, другой — для стороннего API, а остальные делают предположения на основе длины контента и соотношения сторон. Учитывая, что ваша ссылка связана с вопросом, заданным более 2 лет назад, я надеялся, что могут быть известны новые решения.
Используя следующий подход, вы можете определить, является ли видео #short video или нет.
Что вам понадобится:
Подход заключается в следующем:
playlistItems.list
, передав плейлисты #shorts1 в параметре playlistId
.videoId
VIDEO_ID, который вы хотите протестировать.Это пример:
CHANNEL_ID
, но после замены первых двух символов из CHANNEL_ID (в данном случае символы UC
на UUSH
в начале). Обратите внимание на выделенные символы.07pPUAjEmzA
Запрос:
GET https://youtube.googleapis.com/youtube/v3/playlistItems?part=id,snippet,contentDetails&maxResults=10&playlistId=UUSHbqEsRhXQI5KWYVr8mSWWWw&videoId=07pPUAjEmzA&fields=items(contentDetails/videoId,id,snippet/title),kind,nextPageToken,pageInfo,prevPageToken,tokenPagination&key=[YOUR_API_KEY] HTTP/1.1
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Результат:
{
"kind": "youtube#playlistItemListResponse",
"items": [
{
"id": "VVVTSGJxRXNSaFhRSTVLV1lWcjhtU1dXV3cuMDdwUFVBakVtekE",
"snippet": {
"title": "Batman in Blender for 1h and 30 min #blender #speedsculpt #speedsculpting #digitalart"
},
"contentDetails": {
"videoId": "07pPUAjEmzA"
}
}
],
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 10
}
}
Ответ подтверждает, что указанный идентификатор видео 07pPUAjEmzA
действительно является видео #shorts.
Вы можете попробовать этот запрос в демоверсии API Explorer.
Изменив значение параметра videoId
на LyvOV84kJmU
и повторив запрос, ответ будет пустым:
{
"kind": "youtube#playlistItemListResponse",
"items": [],
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 10
}
}
В данном случае это означает, что видео НЕ является видео #shorts, несмотря на то, что видео LyvOV84kJmU
взято с канала UCbqEsRhXQI5KWYVr8mSWWWw
.
1вся благодарность автору ответа за его удивительное открытие. Я предполагаю, что плейлисты Shorts
создаются автоматически, когда владелец канала YouTube загружает видео #short. Если вы или кто-либо знает настоящую причину создания плейлиста только с видео #shorts, сообщите нам об этом.
2 Я тестировал автоматически сгенерированные каналы YouTube и, похоже, это не работает.
Отвечает ли это на ваш вопрос? API данных YouTube v3, чтобы проверить, является ли идентификатор видео коротким