我应该/可以使用Google Spreadsheets API的访问令牌而不是用户名/密码吗?

时间:2013-10-31 13:27:12

标签: ruby security google-sheets google-spreadsheet-api

我正在使用roo库运行某种程序,将Google Spreadsheet作为各种数据库。

它仅供我使用,但如果其他人想尝试使用它,则需要使用其Google帐户(用户名和密码)登录。在简单的gets函数中,我知道人们可能会犹豫不决,在登录时的响应中我注意到可以使用访问令牌:

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

在这种情况下我/我应该使用访问令牌吗?我之前没有用这种方式做过某些事情,但是我已经使用谷歌地图创建了地图,我认为它使用了一个访问令牌来允许更多的API调用...这对我来说简化了问题还是我得到了棒的错误结局?

提供访问令牌是否允许用户加入我的帐户,即拥有Google云端硬盘的权限(显然不是我想要的)?

我已将相关文档设置为公开,并说它“不需要登录查看”,但据我所知,这可能不适用于访问API的程序。

1 个答案:

答案 0 :(得分:1)

访问令牌:是的,如果您希望其他人能够使用代码访问您的电子表格,您可以为他们提供访问令牌。这意味着他们只能访问您的电子表格(访问权限在范围内定义)。

我认为您的计划是将代码公开

问题:

A)您将需要访问令牌和刷新令牌,因为访问令牌很快就会过期,可能在1小时后(不确定)。

B)我会创建第二个Google帐户,这样他们就无法访问您的所有电子表格。

示例OAuth代码:查看DrEdit以获取使用访问令牌的示例代码。

注意:Google-apps-script可能是另一种选择,比google-spreadsheet-api更易于使用