Oauth谷歌趋势下载CSV文件

我正在尝试构建一个使用谷歌趋势和/或谷歌洞察力数据的网络应用程序,但我遇到了一些障碍。 如果您使用有效的Google帐户登录,Google趋势只允许您下载csv文件。 因此,我不能让我的Web应用程序下载并解析它们。

这让我开始研究OAuth http://code.google.com/apis/accounts/docs/OAuth.html ,但我有点不知所措。

尝试使用谷歌趋势urlhttp://googlecodesamples.com/oauth_playground/为谷歌趋势url生成无效的范围错误。

我可以不使用Oauth访问这些服务吗? 我做了很多搜索,但没有找到任何真正可靠的例子(至少我能理解的)如何正确使用它。 有一个更好的方法吗?

有人帮我解决这个问题吗?

好吧,我找到了答案。 我只搜索了与此问题相关的谷歌趋势的stackoverflow,而不是google insight。

搜索谷歌洞察力让我得到了答案: 从谷歌洞察下载csv进行搜索

有人犯了同样的错误,希望能找到这个有用的东西。

截至2013年4月30日,这是有效的。 请注意,您可以使用此方法快速达到其配额。

static void Main(string[] args) { using (var client = new WebClient()) { var terms = new List() {"debt", "profit", "euro", "dollar", "financial", "economy", "federal reserve", "earnings", "fed", "consumer spending" , "employment", "unemployment", "jobs" }; var username = "your username"; var password = "password"; var response = client.DownloadString(string.Format("https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email={0}&Passwd={1}&service=trendspro&source=test-test-v1", username, password)); // The SID is the first line in the response // The Auth line var auth = response.Split('\n')[2]; client.Headers.Add("Authorization", "GoogleLogin " + auth); int i = 1; while (terms.Count > 0) { // google limits 5 sets of terms per request var arr = terms.Take(5).ToArray(); terms = terms.Skip(5).ToList(); var joined = string.Join("%2C%20", arr); byte[] csv = client.DownloadData(string.Format("http://www.google.com/trends/trendsReport?hl=en-US&q={0}&cmpt=q&content=1&export=1", joined)); // TODO: do something with the downloaded csv file: Console.WriteLine(Encoding.UTF8.GetString(csv)); File.WriteAllBytes(string.Format("report{0}.csv", i), csv); i++; } } } 

我试图用不同的编码语言实现相同的任务。

在行中:client.Headers.Add(“授权”,“GoogleLogin”+ auth); “+”符号是否简单地连接两个字符串“GoogleLogin”和“Auth = * ** * * ”?

如果我的实现是正确的,看起来授权方法在过去几个月再次发生了变化:(