Google Drive API: избегая ручной аутентификации - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу написать скрипт Python, который может подключаться к Google Drive API без необходимости ручной аутентификации на каждом устройстве, на котором запускается скрипт.

Я пишу некоторый код Python для исследования, которое будет проводитьсяработать в разных местах обучения.По причинам конфиденциальности данных мы не можем хранить данные локально и должны записать их в облако (в идеале - Google Drive).Член нашей команды не будет присутствовать во всех местах, где запущено программное обеспечение, и поэтому любой вид первоначальной ручной аутентификации (ввод имени пользователя и пароля на разных сайтах для OAuth) действительно исключен для нас.

Я заглянул в Google Drive API (Python) и мне интересно, есть ли способ для устройства, на котором выполняется мой сценарий, получить токен обновления (и последующие токены доступа) для изменения Google Sheet без необходимости ручной аутентификациина каждом устройстве.

Есть ли способ сделать это возможным с помощью Google Drive API (имея какой-то «секрет», который может хранить код)?Если нет, есть ли другие облачные сервисы, которые могли бы приспособить это?

Кроме того, скрипт python запускается как часть исполняемого файла (созданного из Vizard, возможно, неуместного, но упоминающего его на всякий случай)

1 Ответ

0 голосов
/ 07 февраля 2019

Да, это можно сделать - см. Как авторизовать приложение (веб или установлено) без вмешательства пользователя?

Однако, вероятно, это плохая идея по двум причинам.если вы распространяете код со встроенными секретами (технически секрет - это токен обновления), они не будут долго оставаться секретными.Во-вторых, существует вероятность того, что срок действия маркера обновления истечет, а ваши пользователи погибнут в воде.

Я бы посоветовал вам рассмотреть следующие вопросы: -

  • Учетная запись службы
  • Написание прокси-сервера OAuth, который можно бесплатно размещать в Google AppEngine, который помещает все секретные данные на сервер и с которого ваше приложение может получать токены доступа по мере необходимости.
...