C# 使用C从控制台应用程序获取谷歌分析数据#

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

我试图写一个服务,将通过windows服务或控制台应用程序拉谷歌分析数据

无论我尝试什么,我都无法使用oAuth授权我的应用程序

我可以这样做

 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);