我正在开发一个应用程序,其中每个“业务”都有自己的页面(或者更多的页面):
例如示例。 COM /商业/ ABC /
因此,对于系统中已登录的业务所有者,我想提供一个“查看页面分析”功能。它将显示特定页面有多少次访问(可能还有其他一些事情)。
使用带有约束条件的Google AnalyticsAPI是否有办法实现此目的:
我一直在研究这个话题几个小时试图提出一个解决方案而且无法弄明白。
这是我尝试过的以及发生在我身上的问题:
gapi.analytics.auth.authorize({
container: 'auth',
clientid: 'xxx.apps.googleusercontent.com',
serverAuth: {
access_token: 'Server side generated token'
}
});
而不是
gapi.analytics.auth.authorize({
container: 'auth',
clientid: 'xxx.apps.googleusercontent.com',
});
效果并不像我预期的那样。该示例不再显示(我无法看到我的数据),但我可以在Chrome的Netowrking部分看到它实际上是从GA接收真实数据。但由于未知原因,没有任何东西出现。
我试图避免的是构建一个解决方案,我需要构建服务器端代码,查询GA以获取数据,将其提供给前端,然后JS负责显示它。我宁愿使用Embed API,但它似乎不适合我不希望用户使用他们的UA数据但是我自己的UA数据仅限于某个范围的用例。我想至少解决了解决方案的前端或后端部分。该解决方案甚至不需要基于Google Analytics。还有其他任何可以让我轻松实现用例并让企业主看到他们的营销效果(流量,销售)的东西也会很有趣。
相关:
TLDR:向我的客户显示我的GA数据的子集,而不强迫他们成为GA用户并将其添加到我的GA帐户。
任何帮助表示赞赏!
答案 0 :(得分:3)
如果没有看到您的代码,很难知道问题出在哪里,但使用serverAuth
选项绝对有效。使用serverAuth
选项时,您不需要指定客户端ID或容器,您只需输入以下内容:
gapi.analytics.auth.authorize({
serverAuth: {
access_token: 'Server side generated token'
}
});
以下是一个示例,如果您输入有效的访问令牌,ids
可用于您有权访问的视图,则该示例将有效:
http://jsbin.com/vukezoheyeco/3/edit
注意:在执行此类身份验证时,会发生同步。如果您习惯于异步身份验证流程(正常情况下)并添加一个事件处理程序来监听"成功"这可能是一个问题。调用.authorize
之后的事件,因为那时你的处理程序永远不会运行。
答案 1 :(得分:1)
我认为你需要Google Analytics Super Proxy
您下载github软件包并上传到您自己的App Engine项目,进行一些最小配置,然后您就可以设置一个界面,您可以在其中设置无需用户登录的Google AnalyticsAPI调用。
它提供了可用于在前端构建数据表的最终用户URL,它还提供了数据表格式,因此可以直接插入Google Charts。
例如,您有一个需要访问访问权限的用户,网站部分/部分A /
的收入您设置了GA超级代理,为其提供的网址仅包含该部分的数据 - 您可以在GA query explorer中尝试查询。在这种情况下,metrics = ga:visits,ga:productRevenue和filter〜= ga:page = / sectionA /
这将生成一个带有JSON数据的结束URL,每天/每小时刷新一次 - 您的选择。您可以将此网址导入您的应用。
最终用户然后登录到您的应用,并查看从结束URL生成的图表数据以进行登录。他们不需要了解GA超级代理,他们只看到最终结果图表。
通过提供下拉菜单来选择他们看到的数据图表,您可以变得更加复杂,这会更改所请求的GA超级代理URL。