我有一个数据库,其中包含来自客户的一些谷歌分析数据。我有三个值: AuthKeyId,ProfileId和AnalyticsID。如何使用此数据从谷歌获取数据?
这是我尝试的代码,但我收到了未经授权的错误消息:
string authToken = "XXxXXxxx_XXX_xxxx...."; // this seems to be wrong
string feed = "https://www.google.com/analytics/feeds/data";
string ids = "ga:XXXXXXX"; // this is the ID, the correct one
string metrics = "ga:pageviews";
string startDate = "2013-06-25";
string endDate = "2013-07-25";
//Optional:
string sort = "-ga:pageviews";
string feedUrl = string.Format("{0}?ids={1}&dimensions={2}&metrics={3}&sort={4}&start-date={5}&end-date={6}",
feed, ids, dimensions, metrics, sort, startDate, endDate);
webClient.Headers.Add("Authorization", "GoogleLogin " + authToken);
string result = webClient.DownloadString(feedUrl);
答案 0 :(得分:1)
Google分析验证令牌不会永远持续下去。必须更新。如果您拥有刷新令牌,则除非授予权限的用户撤消访问权限,否则它们不会过期。
最好的方法是使用服务帐户,因为建议使用@Petr。
还有一些步骤可以创建服务帐户并生成您需要的.p12
文件。您可以在此处按照设置服务帐户的说明进行操作:Connecting to Google Analytics API in a Rails app
谷歌的代码示例似乎缺少c#
竞技场,但我确实找到了这篇文章:
How do I use a Service Account to Access the Google Analytics API V3 with .NET C#?
答案 1 :(得分:0)
在Google API Console中创建一个Google实际需要的项目(也在GA docs中注明):
希望这有帮助!