0

我有一个简单的服务器端命令行 python 脚本,基于现在已弃用的 FT SQL API,使用客户端登录进行授权。每隔几个小时,我就会通过插入更新的数据来刷新我的 FT。这是一张小桌子,有 3000 行。

阅读 FT 迁移指南,拥有 Google 用户 ID,启用 FT API 并拥有 API 密钥等(将我的 Google 地图应用程序切换到新 API 非常简单)

但我对如何继续迁移命令行 python 脚本感到困惑。我看到 OAuth2 是推荐的身份验证方法,但在我看来,这是一种比我真正需要的方法复杂得多的方法。我什至不清楚它是否适用于命令行脚本。真的不需要提示用户输入登录信息(只有我)。我意识到这一定是一个“已安装的应用程序”,我在 https://developers.google.com/fusiontables/docs/sample_code#ftAPIv1找到了 Hello,p​​ython 示例

还没有尝试过,但想看看是否有人有迁移命令行脚本的经验。(PHP 也可以)

特别是我对我在这里找到的一句话很感兴趣: https ://developers.google.com/fusiontables/docs/v1/using

“Fusion Tables API 还支持旧的授权选项,例如 OAuth 1.0、AuthSub 或 ClientLogin;但是,在大多数情况下,我们不建议使用这些其他选项。如果您的应用程序已经使用这些选项,我们建议迁移到 OAuth 2.0如果可能的话。”

因为,坦率地说,我宁愿不为这样一个简单的任务切换到 OAuth 2。

更新

忘了提一下,我每 3 小时从 cron 运行一次。所以用户输入是不可能的。尽管正如大卫在下面建议的那样,一次性用户输入是可行的。

4

2 回答 2

2

您应该能够通过新 API 将您的客户端登录令牌用作您现有服务器端命令行应用程序的身份验证令牌。您还需要在请求中包含您的开发人员密钥作为“密钥”参数。

于 2012-12-27T19:47:13.280 回答
0

正如您可能已经发现的那样,https://developers.google.com/fusiontables/docs/samples/python有一个非常简单的 OAuth2 安装应用程序流程的 python 实现,是的,您应该切换到这个。与 SQL API 一样,ClientLogin 已被弃用。

该代码要求您打开浏览器并在每次使用时提示您,我将与作者讨论优化它并让它存储刷新令牌,因此它只会在您第一次使用时提示。

于 2012-12-27T21:33:21.167 回答