Когда был выпущен API V3, аутентифицированный вызов API youtube.videos.list вернул бы все видео в учетной записи пользователя, включая общедоступные, частные, незарегистрированные, дублированные, неудачные и иным образом отклоненные видео. Это было здорово и важно для нас, потому что мы загружаем видео через API, и нам нужно уметь определять, какие видео не были обработаны или были дубликатами, и возвращать соответствующее сообщение нашим пользователям.
Однако может показаться, что недавнее изменение API youtube изменило это поведение, поскольку аутентифицированный вызов API youtube.videos.list теперь возвращает только общедоступные, закрытые и незарегистрированные видео, которые были успешно обработаны. Таким образом, в настоящее время у нас нет возможности получить статус неудавшегося или дублированного видео. Вместо этого API вернет 0 элементов.
CURL Запрос:
curl -X GET -H "content-length: 0" -H "user-agent: Yt::Request (gzip)" -H "authorization: Bearer [PRIVATE]" -H "host: www.googleapis.com" "https://www.googleapis.com/youtube/v3/videos?id=HI9rw_xzem4&part=status"
Фактический ответ:
{
"kind": "youtube#videoListResponse",
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/FOlClkGrlyfelgsmQeQKjpA_2DQ\"",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 0
},
"items": []
}
Ожидаемый ответ:
{
"kind": "youtube#videoListResponse",
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/IffXqYgL0_RqhHktOol1wW-rUvo\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/ffSgsvaN6HpnGWEKitI6q-NtGDk\"",
"id": "HI9rw_xzem4",
"status": {
"uploadStatus": "duplicate",
"privacyStatus": "unlisted",
"license": "youtube",
"embeddable": true,
"publicStatsViewable": true
}
}
]
}
Я отправил сообщение об ошибке здесь: https://issuetracker.google.com/issues/129270261
Кто-нибудь знает какие-либо обходные пути в это время?