【发布时间】:2016-09-27 23:23:07
【问题描述】:
我的目标是从 Google Analytics API 检索在 Google Analytics UI 中创建的用户自定义报告。 我已经在云控制台中注册了应用程序,其中收到了证书文件并生成了开发者电子邮件。还在 GA UI 的管理页面上为生成的电子邮件配置了访问权限(授予所有权限)。 为了实现我的目标,我正在尝试从服务中获取细分,但我不确定这是获取自定义报告的正确方法。结果只得到了 13 个默认段(带有负 Id),它比我在 Google APIs Explorer 中接收到的要少,例如其中一个
{ "id": "9MaL7mLnQbWO3k52Ipni5A", "kind": "analytics#segment",
“自我链接”: "https://www.googleapis.com/analytics/v3/management/segments/gaid::9MaL7mLnQbWO3k52Ipni5A", "segmentId": "gaid::9MaL7mLnQbWO3k52Ipni5A", "name": "博客评论 提交者", "定义": "ga:eventAction=@commentform" }
我的问题是获取自定义报告的正确方法吗?如果是,为什么我只得到默认段?
代码:
private readonly string scope = AnalyticsService.Scopes.Analytics.GetStringValue();
private const string clientId = "xxx-xxx@developer.gserviceaccount.com";
private const string keyFile = @"C:\xxx-privatekey.p12";
string 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(new BaseClientService.Initializer { Authenticator = auth, });
var request = gas.Management.Segments.List();
var d = request.Execute();
【问题讨论】:
标签: google-analytics