1

我正在使用roo库来运行一种程序,其中谷歌电子表格作为各种数据库。

它仅供我使用,但如果其他人想尝试使用它,他们需要使用他们的 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 Maps 制作了地图,我认为它使用访问令牌来允许更多地调用 API ...这对我来说会简化问题还是我得到了棒子的错误末端?

发出访问令牌会允许人们进入我的帐户,即拥有我对 Google Drive 的权限(显然不是我想要的)?

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

4

1 回答 1

1

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

我假设您的计划是公开代码

问题:

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

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

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

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

于 2013-11-01T06:50:24.603 回答