Google analytics 谷歌分析API中的自定义报告

Google analytics 谷歌分析API中的自定义报告,google-analytics,Google Analytics,我的目标是从Google Analytics API检索用户在Google Analytics UI中创建的自定义报告。 我已经在云控制台中注册了应用程序,在那里收到了证书文件并生成了开发人员电子邮件。还为GA UI的管理页面上生成的电子邮件配置了访问权限(授予所有权限)。 为了实现我的目标,我正在尝试从服务中获取段,但我不确定这是获取自定义报告的正确方法。结果只有13个默认段(带有负ID),这比我在GoogleAPIsExplorer中收到的要少,例如其中一个 {“id”:“9MaL7mLnQ

我的目标是从Google Analytics API检索用户在Google Analytics UI中创建的自定义报告。 我已经在云控制台中注册了应用程序,在那里收到了证书文件并生成了开发人员电子邮件。还为GA UI的管理页面上生成的电子邮件配置了访问权限(授予所有权限)。 为了实现我的目标,我正在尝试从服务中获取段,但我不确定这是获取自定义报告的正确方法。结果只有13个默认段(带有负ID),这比我在GoogleAPIsExplorer中收到的要少,例如其中一个

{“id”:“9MaL7mLnQbWO3k52Ipni5A”,“种类”:“分析”部分,
“自链接”: "", “分段ID”:“gaid::9MaL7mLnQbWO3k52Ipni5A”,“名称”:“博客评论” 提交者,“定义”:“ga:eventAction=@commentform”}

我的问题是,这是获取自定义报告的正确方法吗?如果是,为什么只获取默认段

代码:


var desc=GoogleAuthenticationServer.Description;
var key=新的X509Certificate2(keyFile、keyPassword、X509keystrageFlags.Exportable);
var client=新断言流客户机(desc,key){
ServiceAccountId=clientId,
范围=范围
};
var auth=新的OAuth2Authenticator(客户端,AssertionFlowClient.GetState);
var gas=new AnalyticsService(new BaseClientService.Initializer{Authenticator=auth,});
var请求=gas.Management.Segments.List();
var d=request.Execute();
Alexander

很抱歉,您的代码无法工作:-)

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

使用管理API,您可以查询用户的帐户,即web 属性和视图(配置文件)确定所需的科目段 用户已经配置了,甚至检索了 配置视图(配置文件)

我建议使用。考虑到你文章的细节,我想技术部分不会成为问题

为了回答您的问题——尽管有直接的方法可以让您创建自定义报告,但只需使用与您在web界面中看到的相同的维度/度量/过滤器/分段即可

这是非常直截了当的,例如:

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

不幸的是,您无法通过API访问自定义报告数据。此处有一个打开的功能请求:


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

Petr,我不需要访问和跳转,我有20多份报告,我不想从头开始重新创建它们。@AlexandrChernyshov我理解,但不幸的是,没有直接的方法获得自定义报告结构。上面的例子取自Google Analytics文档,您当然可以添加更多维度/指标。查询资源管理器也可能有助于保护一些枯燥的工作:我们是否需要OAuth来获取定制报告@Petrhavlik对于其他对此功能感兴趣的人,请在打开的功能请求标记链接上启动并发表评论,它得到的支持越多,它就越有可能被添加到API中。2020年,我仍在寻找类似的解决方案。
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();
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