Google Analytics v3 Google.Apis.Requests.RequestError用户没有任何Google Analytics帐户。 [403]

时间:2013-05-07 19:31:24

标签: .net google-analytics google-analytics-api

我正在使用google analytics v3 api进行谷歌分析数据报告的自动化。

string scope_url = "https://www.googleapis.com/auth/analytics.readonly";
string client_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com";
string key_file = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-privatekey.p12";
string key_pass = "notasecret";
AuthorizationServerDescription desc = GoogleAuthenticationServer.Description;
//key: Load up and decrypt the key
X509Certificate2 key = new X509Certificate2(key_file, key_pass, X509KeyStorageFlags.Exportable);
//client: we're using the AssertionFlowClient, because we're logging in with our certificate
AssertionFlowClient client = new AssertionFlowClient(desc, key) { ServiceAccountId = client_id, Scope = scope_url };
OAuth2Authenticator<AssertionFlowClient> auth = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);
//gas: An instance of the AnalyticsService we can query
// AnalyticsService gas = null;// new AnalyticsService(auth);//not compile
var gas = new AnalyticsService(new BaseClientService.Initializer()
       {
                    Authenticator = auth
       });
//r: Creating our query
DataResource.GaResource.GetRequest r = gas.Data.Ga.Get("ga:xxxxxxxx", "2012-09-26", "2012-10-10", "ga:visitors");
//d: Execute and fetch the results of our query
GaData d = r.Fetch();

我收到错误Google.Apis.Requests.RequestError User does not have any Google Analytics account. [403] Errors [ Message[User does not have any Google Analytics account.] Location[ - ] Reason[insufficientPermissions] Domain[global]]

当我通过简单的api访问使用v2.4版本实现相同的帐户时,它正在工作。 不知道为什么它适用于v2.4版本,而不适用于v3版本的分析API。

在google api控制台中,我已将Analytics API和google API服务设置为

1 个答案:

答案 0 :(得分:1)

我可以在从谷歌分析界面添加电子邮件ID [在上面的代码客户端ID]后提取数据。 详细信息在链接https://groups.google.com/forum/#!msg/google-analytics-data-export-api/maa_fyjD2cM/2ZxM52BinmUJ

中给出