Получить размер файла для видео, хранящихся в Google Фото - PullRequest
0 голосов
/ 08 мая 2019

Контекст: Я хотел посмотреть, как я использую свое пространство Google Фото, и я написал небольшой скрипт на Python, который использует API Google Фото для извлечения всех моих альбомов и их содержимого (используя https://developers.google.com/photos/library/reference/rest/v1/mediaItems/search). Информация о файле отсутствует, но используется mediaItem baseUrl (задокументировано https://developers.google.com/photos/library/reference/rest/v1/mediaItems#MediaItem). Затем я могу выполнить запрос HEAD и получить content-length из заголовков. Кажется, это работаетхорошо для фотографий, но размер видео сильно недооценен. Я предполагаю, что Google Photos готовится к потоковой передаче видео и не отправляет всю информацию о видео.

Вопрос: есть ли какой-нибудь способ получить размер файла для видео, хранящегося в Google Фото, надеюсь, без необходимости загружать все видео? Приложение знает размер файла, но, похоже, его нет в API. Есть ли способ?отправить заголовки некоторых запросов для получения размера файла?

Дополнительная информация: Я использую Python и httplib2.Http() для своих HEAD запросов (happy использовать модуль запросов или любую другую альтернативу).

Это информация, полученная из API, размер этого видеофайла составляет чуть более 100 МБ (определенно, не 30 КБ):

{
  "id": "XYZ",
  "productUrl": "https://photos.google.com/lr/photo/XYZ",
  "baseUrl": "https://lh3.googleusercontent.com/lr/ABC",
  "mimeType": "video/mp4",
  "mediaMetadata": {
    "creationTime": "2018-11-27T03:43:27Z",
    "width": "1920",
    "height": "1080",
    "video": {
      "fps": 120,
      "status": "READY"
    }
  },
  "filename": "VID_20181126_174327.mp4"
}

Это заголовки, полученные из запроса HEAD к baseUrl:

{
  "access-control-expose-headers": "Content-Length",
  "etag": "\"v15ceb\"",
  "expires": "Fri, 01 Jan 1990 00:00:00 GMT",
  "cache-control": "private, max-age=86400, no-transform",
  "content-disposition": "inline;filename=\"VID_20181126_174327.jpg\"",
  "content-type": "image/jpeg",
  "vary": "Origin",
  "x-content-type-options": "nosniff",
  "date": "Wed, 08 May 2019 17:39:42 GMT",
  "server": "fife",
  "content-length": "31652",
  "x-xss-protection": "0",
  "alt-svc": "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"",
  "status": "200",
  "content-location": "https://lh3.googleusercontent.com/lr/ABC"
}

Спасибо.

...