2013-09-15 3 views
1

Если я получаю все Playlist товаров с v3 API данных YouTube, я получаю этот формат для всех видео:Youtube API v3 Продолжительность PlaylistItem

 
    "contentDetails": { 
    "videoId": "KUL_AHeC4zw", 
    "startAt": "PT0S", 
    "endAt": "PT21M12.667S" 
    } 

Whats что штучка рядом с EnDAT? Почему в центре есть точка? Я ожидаю своего рода PT21M54S. Я просто хочу, чтобы я получал его, когда получаю одно видео. Является ли это ошибкой или я просто не могу понять этот формат даты ISO?

ответ

2

Это поле «endAt» не совпадает с «длительностью» видео, но где владелец плейлиста хочет, чтобы он прекратил воспроизведение. Продолжительность видео находится в видео ресурсе, а не в элементе playlistItem. И он требует другого запроса на поиск.

Вы можете найти определения полей в документации YouTube. См этих определений ресурсов: https://developers.google.com/youtube/v3/docs/playlistItems#resource и https://developers.google.com/youtube/v3/docs/videos#resource

+0

Хорошо, ну конец устанавливается в реальном конце видео, которое должно быть равно длине? Если видео длится 3: 10 м, то в большинстве случаев это будет 3: 10 м, что на самом деле является длительностью видео. Я смущен в отношении формата. Как 21M12.667S в конце 21M53S видео? Возможно, я мог бы получить разницу startAt и endAt, чтобы получить продолжительность, но как я могу достичь этого, если endAt не является допустимым моментом времени? – Dominik

+0

Вы ошибаетесь: значение этого endAt, будучи «PT21M12.667S», является действительным моментом времени! Здесь это просто НЕ конец видео; это зависит от владельца плейлиста. И нет, вы не можете вычислить продолжительность. Если это понравится владельцу, то он/она может изменить каждое значение endAt, и в этом случае все будет отличаться от продолжительности. – Als

+0

Спасибо за ваш ответ! :) – Dominik