我想在
Ruby中编写一个脚本(使用gdata gem,rest-client gem或直接使用Net :: HTTP),使用gmail-userid / password对我的google文档进行身份验证,然后下载私有文档和文档列表.
GData documents指南明确了如何获取公开可见的文档,但我不清楚如何在脚本中对自己进行身份验证以访问私有文档. authentication methods they specify似乎都需要人工干预,无论是使用Capcha还是某种形式的OAuth / OpenID重定向.
有没有办法只使用用户ID /密码组合访问我的私人文件?或者也许与API密钥一起?如果是这样,任何人都可以告诉我该怎么做?
解决方法
因此,有时放弃,继续前进,以新的心态回归可以创造奇迹.我今天早上又开始看这个,并在几个小时内让它工作.
我放弃了OAuth,因为Ruby OAuth gem似乎以基于Web的应用程序为中心.我开始在谷歌数据上使用Rails,并使用ClientLogin,进行身份验证是没问题的,据我所知,除非你输入错误的凭据,否则你不会收到CAPTCHA请求……或者至少我还没有看到任何其他.
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