【问题标题】:Custom reports in google analytics API谷歌分析 API 中的自定义报告
【发布时间】: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


    【解决方案1】:

    亚历山大,

    我很抱歉这么说,但你的代码不起作用:-)

    您正在使用Management API,它无法直接访问数据,但用于管理帐户设置、用户等:

    使用 Management API,您可以查询用户的帐户、网络 属性和视图(配置文件),确定哪些帐户细分 用户已配置,甚至检索有关目标的信息 配置的视图(配置文件)。

    我建议使用Core Reporting API。鉴于您帖子的详细信息,我认为技术部分不会成为问题。

    回答您的问题 - 尽管有直接的方法可以让您创建自定义报告,但只需使用您在网络界面中看到的相同维度/指标/过滤器/细分。

    query structure 非常直接,例如:

    GET https://www.googleapis.com/analytics/v3/data/ga
      ?ids=ga:12345
      &start-date=2008-10-01
      &end-date=2008-10-31
      &metrics=ga:visits,ga:bounces
    

    【讨论】:

    • Petr,我不仅需要访问和退回,我有 20 多份报告,我不想从头开始重新创建它们。
    • @AlexandrChernyshov 我了解,但不幸的是,没有直接的方法可以获取自定义报告结构。上面的示例取自 Google Analytics 文档,您当然可以添加更多维度/指标。查询资源管理器也可能有助于保护一些无聊的工作:ga-dev-tools.appspot.com/explorer
    • 我们是否需要 OAuth 才能获得 CUSTOM REPORTS @PetrHavlik
    【解决方案2】:

    很遗憾,您无法通过 API 访问自定义报告数据。这里有一个开放的功能请求:Expose Custom Reporting trough API

    您可能会对Megalytic 工具感兴趣。它从 API 创建报告,您可以将其保存为模板,通过电子邮件或网络链接与他人共享,甚至使用您自己的封面或徽标进行品牌宣传。免责声明:我是 Megalytic 的创始人。

    【讨论】:

    猜你喜欢
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多