简体   繁体   English

Google Analytics Api 400错误请求

[英]Google Analytics Api 400 Bad Request

I want to import data from Google Analytics. 我想从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();

I get 400 bad request error in Fetch method. 我在Fetch方法中收到400错误的请求错误。 What is the wrong of my code? 我的代码有什么问题?

My full code like following: 我的完整代码如下:

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

Thaks for your interest. 感谢您的关注。

A couple of ideas: 一些想法:

  1. your clientId should be your SERVICE ACCOUNT EMAIL (not id) 您的clientId应该是您的服务帐户电子邮件(不是id)
  2. your scope should be " https://www.googleapis.com/auth/analytics.readonly " 您的范围应为“ https://www.googleapis.com/auth/analytics.readonly

If this doesn't work, check @Martyn's answer 如果这不起作用,请检查@Martyn的答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM