Должен ли я использовать токены доступа для API таблиц Google вместо имени пользователя/пароля?

Я использую библиотеку roo для запуска своего рода программы с Google Spreadsheet в качестве своего рода базы данных.

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

oo = Roo::Google.new(sheetkey, user: GOOGLE_MAIL, password: G> => 
#<Roo::Google:0x3429798 @filename="**the Google spreadsheet key**",
@user="[email protected]\n", @password="*SECRET!*\n", @access_token=nil ,
...

Могу ли я/должен ли я использовать токен доступа в этом случае? Раньше я ничего не делал с API таким образом, но делал карты с помощью Google Maps, которые, я думаю, использовали токен доступа, чтобы разрешить большее количество вызовов API... Упростит ли это мне задачу или у меня есть не тот конец палки?

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

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


person Louis Maddox    schedule 31.10.2013    source источник


Ответы (1)


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

Я предполагаю, что вы планируете сделать код общедоступным.

вопросы:

A) Вам потребуется и токен доступа, и токен обновления, так как срок действия токенов доступа быстро истекает, возможно, через 1 час (не уверен).

Б) Я бы создал вторую учетную запись Google, чтобы они не могли получить доступ ко всем вашим электронным таблицам.

Пример кода OAuth: взгляните на DrEdit для примера кода, использующего токены доступа.

Примечание. Google-apps-script может быть другим вариантом, более простым в использовании, чем google-spreadsheet-api.

person eddyparkinson    schedule 01.11.2013
comment
это на Github так что да, это общедоступно, извините сказал. Насколько мне известно, я не использую драгоценный камень google-spreadsheet-api, на самом деле google_drive, просто пометил его так, поскольку он использует таблицы Google и API... Спасибо за подсказки! Вторая учетная запись Google — хорошая идея, хотя и довольно запутанная, у меня уже есть одна, хотя через альтернативный адрес электронной почты, так что я думаю, это не проблема. - person Louis Maddox; 01.11.2013
comment
Я подозреваю, что roo использует google-spreadsheet-api/gdata, другого API AFAIN, который работает таким образом, нет. - person eddyparkinson; 02.11.2013