Доступ к видео в Google Slides через access_token

Мое приложение запрашивает "https://www.googleapis.com/auth/drive.readonly 'разрешение от пользователя. Когда приложение получает токен доступа Google, создается URL-адрес для доступа к выбранному пользователем предварительному просмотру презентации Google Slides, например:

https://docs.google.com/presentation/d/1WADAfZShdqdYKgae8C9LdpYlPgf2qjoZD2jjKln4F3M/embed?rm=minimal&access_token=ya29.....

Это отлично подходит для просмотра презентации, но если на слайде используется видео, то следующая ошибка показывает: введите описание изображения здесь

Поскольку мое приложение запрашивает полный доступ для чтения к Google Диску пользователя, а рассматриваемое видео находится на Google Диске пользователя, почему это происходит?


person Adam    schedule 18.11.2019    source источник


Ответы (2)


Это происходит потому, что вам по-прежнему необходимо предоставить другим пользователям доступ к вашему видео, поэтому вам нужно поделиться им, как если бы вы делали это с любым другим типом файла на вашем Диске.

Чтобы сделать это программно, вам нужно будет использовать Drive API и создать запрос в Файлы: обновить следующим образом:

[
  {
    'type': 'user',
    'role': 'writer',
    'emailAddress': '[email protected]'
  }, {
    'type': 'domain',
    'role': 'writer',
    'domain': 'example.com'
  }
]

Редактировать

То, что я мог понять сейчас. Чтобы посмотреть видео, сделайте следующее:

1) Щелкните видео правой кнопкой мыши.

2) Щелкните Поделиться.

3) Нажмите «Дополнительно» (находится в правом нижнем углу).

4) Нажмите «Изменить ...».

5) Выберите «Вкл. - Все, у кого есть ссылка» и установите доступ «Может редактировать».

Когда вы используете параметр запроса "access_token", Google Slide будет искать URL-адрес видео в драйвере, в котором вы должны установить общие разрешения для видео.

Изображения могут быть доступны всем, у кого есть доступ к презентации, как сказано в документе:

URL-адрес изображения со сроком действия по умолчанию 30 минут. Этот URL-адрес помечен учетной записью запрашивающего. Любой, у кого есть URL-адрес, фактически получает доступ к изображению как исходный запросчик. Доступ к изображению может быть утерян при изменении настроек общего доступа к презентации.

Видео необходимо настроить параметры общего доступа, как указано в документе:

URL-адрес видео. URL-адрес действителен, пока существует исходное видео и настройки совместного доступа не меняются.

Обратите внимание на разницу между ними здесь: Любой, у кого есть URL-адрес, фактически получает доступ к изображению как исходный запросчик.

Обновлять

Я обновляю свой ответ, потому что наткнулся на this, в котором говорится, что авторизация ваших запросов с помощью параметра запроса токена доступа для подключения к Drive API будет устарело с 1 января 2020 г.

Поэтому теперь ваши запросы нужно будет делать с использованием HTTP-заголовка < / а>. Мой ответ следует рассматривать как обходной путь, потому что он скоро станет нерекомендуемым.

Документы

Дополнительную информацию о Slides API и Drive API можно найти по следующим ссылкам:

person alberto vielma    schedule 19.11.2019
comment
Видео находится на диске текущего пользователя с презентацией. Это не видео, которым поделились. Эта ошибка отображается только при доступе к презентации с использованием параметра запроса access_token. - person Adam; 19.11.2019
comment
Спасибо, это сработало. Так это сделано намеренно? Это похоже на ошибку. Если я вставляю изображение в презентацию со своего диска, оно отображается нормально, но не публикуется, только видео имеет эту проблему. - person Adam; 19.11.2019
comment
Я отредактировал свой ответ, объяснив разницу между видео и изображениями - person alberto vielma; 20.11.2019

Хотя вы сохранили свое видео на том же диске, что и презентация, я предполагаю, что оно может быть недоступно, когда оно «встроено в ваши слайды».

Однако вы сможете получить доступ к видео, если вы используете тот же токен доступа, чтобы просматривать только видео.

Было бы лучше хранить видео отдельно, встроить их в свою презентацию, а затем получать к ним доступ, используя их соответствующие области.

если вы выберете этот маршрут,

Я думаю, вам нужно разрешить следующим областям также доступ к вашему видео из презентации, а именно drive.photos.readonly, youtube.force-ssl соответственно. Наряду с другими объемами дисков, при условии, что вы сохранили видео одним из двух способов, указанных ниже. Следовательно, во время запроса access_token используйте соответствующие области и получите токен доступа и используйте его для доступа к вашим ресурсам в более поздний момент времени.

2 варианта,

При использовании Drive API

https://www.googleapis.com/auth/drive.photos.readonly
Просматривайте фото, видео и альбомы в Google Фото.

При использовании Youtube

https://www.googleapis.com/auth/youtube.force-ssl Просматривайте, редактируйте и навсегда удаляйте свои видео YouTube, рейтинги, комментарии и подписи.

Документация Google API -

https://developers.google.com/identity/protocols/googlescopes

person forkdbloke    schedule 19.11.2019
comment
Даже со следующими областями действия кнопка «Запросить доступ» все еще отображается. 'googleapis.com/auth/userinfo.email', 'googleapis.com/auth/drive.readonly ',' googleapis.com/auth/drive.photos.readonly ',' googleapis.com/auth/youtube.force-ssl ' - person Adam; 21.11.2019
comment
Адам, вы получили разрешение, указанное Альберто? У тебя было время это проверить! - person forkdbloke; 21.11.2019
comment
Да, решение Альберто работает, но я надеюсь на что-то более автоматизированное, не требующее настройки разрешений для видео. - person Adam; 09.12.2019