Разница между доступом "от имени" бота и пользователя - PullRequest
1 голос
/ 06 августа 2020

Я работаю над программой, которая использует gspread для доступа к таблице Google в python.

В документации для gspread они упоминают: API Google Таблиц вам необходимо аутентифицировать и авторизовать свое приложение.

  • Если вы планируете доступ к таблицам от имени бота аккаунт, используйте сервисный аккаунт.
  • Если вы хотите получить доступ к таблицам от имени конечных пользователей (включая себя) использовать идентификатор клиента OAuth.

Насколько я понимаю, я создаю «бота» для доступа к моей учетной записи и внесения изменений в лист, поэтому я бы использовал OAuth.

Есть ли какая-нибудь другая служба Google, где у ботов есть свои собственные листы Google, так что доступ к указанным листам будет осуществляться от имени "бот? Если нет, то в чем разница между этими параметрами аутентификации?

Изменить:

Кажется, что документация отвечает на часть этого вопроса ниже:

Служба учетная запись - это особый тип учетной записи Google, предназначенный для представления не являющегося человеком пользователя, которому необходимо пройти аутентификацию и получить разрешение на доступ к данным в API Google [sic].

Начиная с , это отдельная учетная запись по умолчанию у него нет доступа к электронной таблице, пока вы не поделитесь ею с этой учетной записью. Как и любая другая учетная запись Google.

Вторая часть моего вопроса все еще остается - зачем мне использовать опцию бота и в чем разница, при условии, что я получаю доступ только к листам от одного пользователя Google ?

1 Ответ

0 голосов
/ 07 августа 2020

Учетные записи служб - это учетные записи, которые

  • используются для взаимодействия сервера с сервером
  • принадлежат вашему приложению
  • использует упрощенный двухсторонний поток OAuth (или поток jwt) вместо типичного трехстороннего потока
  • не используются для доступа к данным конечного пользователя, но ваше приложение указывает c data

Если вы создаете android или python app, вы можете использовать учетную запись службы (на размещенном сервере), чтобы действовать от имени этого приложения. Это может взаимодействовать, скажем, с таблицами Google (Другой сервер), которые принадлежат / используются совместно с учетной записью службы. Это имеет смысл, потому что, если вы используете свою учетную запись, конечные пользователи вашего приложения будут иметь доступ ко всем вашим таблицам Google и другим учетным данным. Используя учетную запись службы, он будет иметь доступ только к данным, которыми он поделился / принадлежал ему.

Ссылки:

...