将命令行脚本迁移到FT API 1.0

时间:2012-12-27 19:19:42

标签: google-fusion-tables google-oauth

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

阅读“FT迁移指南”,拥有Google用户ID,启用FT API并拥有API密钥等。 (将我的Google地图应用程序切换到新的API是直接的)

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

尚未尝试过,但希望了解是否有人有迁移命令行脚本的经验。 (PHP也可以工作)

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

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

因为,坦率地说,我不想切换到OAuth 2来完成这么简单的任务。

更新

忘记提及,我每3个小时从cron运行一次。所以用户输入实际上是不可能的。虽然大卫建议下面一次用户输入是可行的。

2 个答案:

答案 0 :(得分:2)

您应该能够使用您的客户端登录令牌作为现有服务器端命令行应用程序的auth令牌和新API。您还需要将您的开发人员密钥包含在请求中作为"密钥"参数。

答案 1 :(得分:0)

您可能已经找到了一个非常简单的OAuth2已安装应用程序流的python实现https://developers.google.com/fusiontables/docs/samples/python,是的,您应该切换到此。不再使用ClientLogin,就像SQL API一样。

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