我想用 Ruby 编写脚本(使用 gdata gem、rest-client gem 或直接使用 Net::HTTP)使用 gmail-userid/password 对我的 google 文档进行身份验证,然后下载私有(private)列表文件和文件。
GData documents指南清楚地说明了如何获取公开可见的文档,但不清楚我如何在我的脚本中验证自己的身份以访问私有(private)文档。 authentication methods they specify所有这些似乎都需要人工干预,要么使用验证码,要么使用某种形式的 OAuth/OpenID 重定向。
有什么方法可以只使用用户名/密码组合来访问我的私有(private)文档吗?或者可能连同 API key ?如果是这样,谁能告诉我如何做到这一点?
最佳答案
因此,有时放弃,继续做其他事情,然后以全新的心态回来可以创造奇迹。今天早上我又开始查看它,并在几个小时内让它开始工作。
我放弃了 OAuth,因为 Ruby OAuth gem 似乎以基于 Web 的应用程序为中心。我开始在 Google Data on Rails 中四处寻找,并使用 ClientLogin,获得身份验证没有问题,据我所知,除非输入错误的凭据,否则您不会收到验证码请求……或者至少我还没有看到。
这是导出电子表格文件的简单代码片段:
require 'gdata/client'
require 'gdata/http'
require 'gdata/auth'
client = GData::Client::Spreadsheets.new
client.clientlogin('username', 'password')
test = client.get("http://spreadsheets.google.com/feeds/download/spreadsheets/Export?key="resource_ID"&fmcmd&exportFormat=xls")
file = File.new("spreadsheet.xls", "wb")
file.write test.body
file.close
关于用于下载私有(private)谷歌文档的 Ruby 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972506/