C# 使用C从控制台应用程序获取谷歌分析数据#
我试图写一个服务,将通过windows服务或控制台应用程序拉谷歌分析数据 无论我尝试什么,我都无法使用oAuth授权我的应用程序 我可以这样做C# 使用C从控制台应用程序获取谷歌分析数据#,c#,dotnetopenauth,google-analytics-api,C#,Dotnetopenauth,Google Analytics Api,我试图写一个服务,将通过windows服务或控制台应用程序拉谷歌分析数据 无论我尝试什么,我都无法使用oAuth授权我的应用程序 我可以这样做 var analyticsService = new AnalyticsService("MyApp"); const string baseUrl = "https://www.google.com/analytics/feeds/data"; var dataQuery = new DataQuery(baseUrl); dataQuer
var analyticsService = new AnalyticsService("MyApp");
const string baseUrl = "https://www.google.com/analytics/feeds/data";
var dataQuery = new DataQuery(baseUrl);
dataQuery.Ids = TableId;
dataQuery.Dimensions = "ga:pagePath,ga:date";
dataQuery.Metrics = "ga:avgTimeOnPage,ga:pageviews,ga:uniquePageviews";
dataQuery.Sort = "ga:date";
dataQuery.GAStartDate = "2012-03-01";
dataQuery.GAEndDate = "2012-04-15";
Feed = analyticsService.Query(dataQuery);
如果我将GDataCredentials与我的帐户用户名/pw一起使用,这可以很好地工作。我的印象是,这每天只给我200个请求。我真的需要一些示例代码的帮助,如何使oAuth能够支持50K请求。我在这里完全撞到墙了
只是澄清一下:
我的网站只有一个GoogleAnalytics帐户。我将永远从那一个帐户中提取。在不达到API下限的情况下,最简单的方法是什么
提前多谢 可以找到答案
引用原作者的话:
要使其工作,您需要来自的DotNetOpenAuth
还有格达塔
在DotNetOpenAuth中,有一个名为OAuthConsumer的示例项目
你需要。将其更改为requiest authorization for Analytics:
这将为您获取令牌和令牌机密。您可以这样使用它们:
经过进一步的研究,看起来我正在寻找的选项是服务账户,而谷歌分析(Google Analytics)目前还没有
是的,我的问题是我尝试了它,但它不起作用:)它缺少各种引用,API已经更改,库的版本等等。你能提供一个大样本吗?不是重复的,因为这个答案已经不适用了
GoogleConsumer.RequestAuthorization(google, GoogleConsumer.Applications.Analytics);
GOAuthRequestFactory requestFactory = new GOAuthRequestFactory("cp", TokenManager.ConsumerKey); //ConsumerKey actually is the name of web application
requestFactory.ConsumerKey = TokenManager.ConsumerKey;
requestFactory.ConsumerSecret = TokenManager.ConsumerSecret;
requestFactory.Token = AccessToken;
requestFactory.TokenSecret = TokenManager.GetTokenSecret(AccessToken);
requestFactory.UseSSL = true;
AnalyticsService service = new AnalyticsService(requestFactory.ApplicationName); // acually the same as ConsumerKey
service.RequestFactory = requestFactory;
const string dataFeedUrl = "https://www.google.com/analytics/feeds/data";
DataQuery query1 = new DataQuery(dataFeedUrl);