Как получить всю историю просмотров на YouTube пользователя?

я пытаюсь получить полный список просмотренных видео для данного пользователя в моем приложении YouTube API. Я хочу добавить общую продолжительность всех видео.

Когда я получаю список видео из плейлиста истории, API ограничивает его до 50 пунктов. Там'с нумерацией страниц, но общее количество элементов составляет 50 (не только на страницу); Я могу'Появляется доступ к большему количеству данных с помощью API.

Можно ли как-нибудь получить этот плейлист без шапки данных? Я'Я надеюсь на другой метод (с использованием API) или способ сделать это без API. Я знаю, что YouTube хранит эти данные, потому что я могу просматривать всю свою историю (более 50 видео).

используя этот код:

var requestOptions = {
    playlistId: playlistId,
    part: 'snippet',
    maxResults: 50
};
gapi.client.youtube.playlistItems.list(requestOptions);

гдеplaylistId идентификатор плейлиста истории, который я получил отgapi.client.youtube.channels.list запрос.

Изменить (2017): Я хочу уточнить, что я всегда хотел загрузить свою собственную историю, просто из интереса посмотреть, сколько времени я потратил на просмотр видео. Я до сих пор не смог этого сделать.

 Ingo Bürk15 мая 2013 г., 08:17
Если оно'закрыты, они неЯ не хочу, чтобы ты это делал. Поиск обходных путей, если это вообще возможно, скорее всего, является нарушением их условий.
 MikeMurko02 июн. 2015 г., 04:22
@fsmv I 'я нахожу ограничение в 147 для учетной записи, которая имеет тысячи видео истории. Отстой ... на самом деле искал старое видео, которое я смотрел. Думаю ямне придется кликать по их реальной странице истории просмотров, как робот.
 Fsmv15 мая 2013 г., 07:37
@ Ян, пейджинга нет, всего 50 результатов. Словноresponse.result.pageInfo.totalResults общее количество видео на всех страницах также составляет 50. Кроме того, это нене вернутьnextPageToken илиprevPageToken, Также этокомментарий сотрудника Google подтверждает, что он ограничен.
 Fsmv17 июл. 2015 г., 03:31
@ArielPatschiki Будет ли Google даже видеть это, так как код Google закрывается сейчас?
 Ian15 мая 2013 г., 06:47
В документации конкретно указаны допустимые значения дляmaxResults от 0 до 50. Так что выЛ.Л.иметь нажать на пейджинг
 Ingo Bürk15 мая 2013 г., 19:35
В частности, Условия предоставления услуг Youtube API II.2, в которых говорится, что вы не должны вмешиваться в надлежащую работу API. И если есть преднамеренный предел в 50 результатов, это правильная работа. А вы'Вы найдете это в любом API социальной сети, например, в Facebook.
 Ariel Patschiki16 июл. 2015 г., 02:14
Кажется, этоэто ошибка! Только последнийнеделю или около того отображается. Пожалуйста, поддержите эту проблему, комментируя:code.google.com/p/gdata-issues/issues/detail?id=4642
 vol7ron16 июл. 2015 г., 02:27
@ArielPatschiki Я так думаютолько последние две недели, но, кажется, мы нашли ту же ветку! (Я не читал ваш комментарий перед публикацией ответа, иначе я бы зачислил вас)

Ответы на вопрос(4)

осмотра. Для получения дополнительной информации обратитесь к сообщению об ошибке:https://code.google.com/p/gdata-issues/issues/detail?id=4642

Замечания: Есть похожий вопрос по SO, заданный здесь:YouTube API v3 возвращает усеченную историю просмотров

не используя API и вместо этого разбираяhttps://www.youtube.com/feed/history URL?

Теоретически, пользовательский просмотр может быть эмулирован, включая нумерацию страниц. Хотя я не знаю, насколько сложно (вероятно, очень), поскольку вам нужно иметь дело с аутентификацией, а YouTube, вероятно, пытается проверить, просматривает ли человек.

 noderman29 июл. 2015 г., 04:10
Вы бы нене использовать API, но обычный HTTP-доступ, анализировать ответы и эмулировать взаимодействие с пользователем (что-то вродеcurl ... GET ... https://www.youtube.com/feed/history ). Это, вероятно, боль, но не злоупотребление API. Возможно злоупотребление TOS обычного пользователя.
 Fsmv28 июл. 2015 г., 23:59
Увидетьэтот комментарий против TOS не пускают

что это известная ошибка, о которой первоначально сообщалось в 2013 году. Точно такое же поведение объясняется в ветке Google Code:https://code.google.com/p/gdata-issues/issues/detail?id=4642

задачи некоторое время назад. Без официального API, он использует файлы cookie сеанса и разбор html. Дампы в SQLite по умолчанию.https://github.com/zvodd/Youtube-Watch-History-Scraper

Как это'сделано: по сути, это открывает URL

https://www.youtube.com/feed/history'

с действительным (вошедшим в систему) файлом cookie сеанса, взятым из Chrome. Удаляет все видео записи для имени, видео (URL), канала / пользователя, описания, длины. Затем он находит кнопку внизу страницы с атрибутомданные UIX-нагрузка более-HREF который содержит ссылку на следующую страницу, что-то вроде:

"/browse_ajax?action_continuation=1&continuation=98h32hfoasau0fu928hf2hf908h98hr%253D%253D&target_id=item-section-552363&direct_render=1"

... повторно очищает оттуда записи видео и сбрасывает их все в базу данных sqlite; который вы можете искать записи по любому из полей (имя, длина, пользователь, описание и т. д.).

Так что, пока они не изменят свою страницу фида / истории,выполнимо и сделано. Я мог бы даже обновить его.

Ваш ответ на вопрос