1

我想从 Google Analytics 导入数据。

var gas = new AnalyticsService(auth);

var r = gas.Data.Ga.Get("ga:6332XXXX", "2013-02-01", "2013-02-11", "ga:visits");

r.Dimensions = "ga:date";
r.Sort = "ga:visits";
r.StartIndex = 1;

var data = r.Fetch();

我在 Fetch 方法中收到 400 错误请求错误。我的代码有什么问题?

我的完整代码如下:

var scope = AnalyticsService.Scopes.AnalyticsReadonly.ToString();
var clientId = "--------.apps.googleusercontent.com";
var keyFile = @"C:\-----------------privatekey.p12";
var keyPassword = "notasecret";

var desc = GoogleAuthenticationServer.Description;

var key = new X509Certificate2(keyFile, keyPassword, X509KeyStorageFlags.Exportable);

var client = new AssertionFlowClient(desc, key)
{
    ServiceAccountId = clientId,
    Scope = scope
};

var auth = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);

var gas = new AnalyticsService(auth);

var r = gas.Data.Ga.Get("ga:6332XXXX", "2013-02-01", "2013-02-11", "ga:visits");

r.Dimensions = "ga:date";
r.Sort = "ga:visits";
r.StartIndex = 1;

var data = r.Fetch();

谢谢你的兴趣。

4

1 回答 1

1

几个想法:

  1. 您的 clientId 应该是您的服务帐户电子邮件(不是 id)
  2. 你的范围应该是“ https://www.googleapis.com/auth/analytics.readonly

如果这不起作用,请检查@Martyn 的答案

于 2013-09-19T05:25:10.370 回答