1

我有一个 GAE 服务帐户拥有的谷歌电子表格,我希望我的 GAE Python 应用程序更新其中一行中的单元格。

根据一些阅读,这些是我的发现:

  • 电子表格服务是老式的。它是一个谷歌数据 API,大多数谷歌服务现在都在谷歌 API 平台上。对于 Google API 服务,可以使用服务帐户进行两条腿的 oauth2 访问,但不能用于 Google Data API 服务。哦,似乎可以在 Google 数据 API 服务上进行两条腿的 oauth,但前提是应用程序位于 Google Apps 域中(我的不是)
  • 我可以通过使用我的个人帐户来实现类似的效果(即应用程序的用户可以使用我的电子表格中的数据并且不需要以任何方式登录或授权)。有一种复杂的方式涉及我授权应用程序一次,存储令牌并在用户使用应用程序时重用它。还有另一种方式,即使用客户端登录(即我在代码中嵌入了我的个人登录名和密码,并使用它来授权应用程序访问我的电子表格中的数据)

后一种方法似乎也相当安全,但我当然必须非常小心,以免我的源代码被暴露。授权在 GAE 应用程序和 Google Data Spreadsheets API 之间,因此完全不涉及实际用户的机器。

我的电子表格归服务帐户所有,并与我的个人帐户共享。

请注意,我的应用程序还使用 Google Drive API(访问一些个人 Drive 文件,也在我和 GAE 服务帐户之间共享),因此它将授权使用服务帐户。

有人可以确认我的发现是正确的并且这种方法是合理的吗?

4

1 回答 1

0

您可以在 OAuth2(Google API 平台)流程上使用 gdata.spreadsheets.client(Google 数据 API)。

https://github.com/HatsuneMiku/googleDriveAccess

它使用“oauth2client-gdata-bridge”。

于 2014-08-04T23:56:04.093 回答