就在我再次熟悉SQL语句时,从Google Analytics中提取数据时,我发现它们不使用SQL,而是使用Dimensions和Metrics以及它们的组合.
为什么这是一个原因?我认为它没有SQL接口(或普通的Web服务器日志下载)?如果是这样,SQL语句如何转换为Dimension,Metrics(以及Segment和Filters)?
似乎Metrics往往是"聚合",例如count()或average(),而Dimension往往是记录值本身(例如Browser == IE或Country == Australia),它与group by值.过滤器就像条件,那么Segment呢?
似乎如果我们指定Dimensions,那么它会自动执行group by并显示该字段.它通常是count()或sum().如果我们想改变average(*)怎么办?如果我们希望它显示但不希望它做group by什么呢?
要进行实验的示例网站位于http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html
analytics google-analytics web-analytics google-analytics-api yahoo-analytics
我想知道,该文档提供了使用多种语言实现Analytics API的教程.
现在在PHP中他们展示了如何存储访问令牌并维护它,现在我假设JS以某种方式在某种本地存储中保证它,但我不希望用户每次访问时都要进行身份验证,所以我的计划是保存在我的数据库中访问和刷新令牌,只需将其应用到客户端,而不是通过所有弹出的procress.
根据教程:
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, result);
Run Code Online (Sandbox Code Playgroud)
触发返回访问令牌的弹出窗口,但我再次说我对从数据库提交令牌感兴趣.
怎么办?
gapi.auth.setToken(token)在我可以调用Core Reporting API之后是否有一些方法?
我正在尝试使用谷歌服务帐户编写一个在线应用程序来访问我的谷歌分析数据.这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace GA_server2server_POC.Models
{
using System.Security.Cryptography.X509Certificates;
using Google.Apis.Analytics.v3;
using Google.Apis.Analytics.v3.Data;
using Google.Apis.Authentication.OAuth2;
using Google.Apis.Authentication.OAuth2.DotNetOpenAuth;
using Google.Apis.Util;
using Google.Apis.Services;
using Google.Apis.Requests;
public class Oauth_With_API
{
public static void ApiTest()
{
log4net.Config.XmlConfigurator.Configure();
const string ServiceAccountId = "xxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com";
const string ServiceAccountUser = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdeveloper.gserviceaccount.com";
AssertionFlowClient client = new AssertionFlowClient(
GoogleAuthenticationServer.Description, new X509Certificate2("C:\\Users\\rcarter\\Downloads\\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-privatekey.p12", "notasecret", X509KeyStorageFlags.Exportable))
{
Scope = "https://www.googleapis.com/auth/analytics.readonly",
ServiceAccountId = ServiceAccountUser
};
OAuth2Authenticator<AssertionFlowClient> authenticator = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);
AnalyticsService service = new AnalyticsService(new BaseClientService.Initializer()
{
Authenticator …Run Code Online (Sandbox Code Playgroud) c# web-services google-analytics-api google-oauth service-accounts
我正在从Google Analytics(分析)核心api获取数据。我知道我们只能使用api 来获取7个维度,但是在这里,我需要使用正确的指标来获取7个以上的维度。无论如何(使用付费Google Analytics(分析)除外)是否可以通过Google Analytics(分析)中的正确指标获取7个以上维度。
如果不是,则存在任何数学公式,通过这些数学公式,我们可以找到使用2个具有相同维度的不同维度获取的维度的交集。
谢谢
我在使用proguard构建的Android应用上使用Google Analytics v4 API.由此产生的崩溃报告是神秘的.例如,`NullPointerException(@a:t:-1){main}'
1)我可以在不猜测的情况下找到所提供信息的确切位置吗?
2)如何提高崩溃报告的可读性?该文档显示了如何设置自定义异常报告器,这是有道理的.但是,它也说明了
切勿将异常消息(e.getMessage())发送给Google Analytics,因为它可能包含个人身份信息.
所以,如果不是消息,我可以使用哪些异常字段来生成崩溃报告,让我在使用proguard的应用程序中找到崩溃的位置?
我想主办的JS文件linkid.js,并analytics.js在我们的专用CDN服务器在本地.现在我们引用这两个文件如下:
(window,document,'script','//www.google-analytics.com/analytics.js','ga')
Run Code Online (Sandbox Code Playgroud)
和
ga('require', 'linkid', 'linkid.js');
Run Code Online (Sandbox Code Playgroud)
我是否很容易更改URL引用,analytics.js但我不确定我是否可以为linkid.js做到这一点!查找文档,但如果它接受相对URL,则无法找到答案.如何处理这种情况
编辑1:
我之所以需要这样做:

我正在为我们网站上创建帖子的用户构建自定义管理信息中心.我想向他们展示他们帖子中的活跃访问量(不是在整个网站上).
我希望它的行为与GA完全相同:
我原本想从头开始构建这个,但回想起来,使用GA API可能更容易?
我一直盯着文档,我只是没有去研究它,所以我来这里寻求帮助.
我们共有约5,000个帖子,而我在网站上的一些人已经撰写了超过1000个帖子,因此GA的"输入"将是1到1000多个slug(仅针对他们的帖子).
我只想为他们的帖子提供一定数量的现场流量.
可选地,也许它必须被颠倒...我不确定GA是否可以显示它,但更好的可能是从API获得实时访问者的内容细分,最多5000个结果.从那里我可以过滤结果集slugs(以及每个用户的数量),并将这些结果与属于该用户的每个slug进行比较,然后只计算我总结的总数.
这是Google API可以帮助我的东西吗?我需要使用哪个API端点?对于来自API的流量的网址,是否可以获得5000+最大结果?
谢谢!
javascript google-analytics ruby-on-rails google-api google-analytics-api
我需要格式化从Google Analytics(分析)获得的响应,然后再将其显示在Google图表中,我尝试在on("success"...方法被触发时编辑响应,但是我发现它在调用之后被调用.execute()。
在收到响应之后并填充图表之前,有什么方法可以编辑它?
这是我的功能:
var dataChart5 = new gapi.analytics.googleCharts.DataChart({
reportType: 'ga',
query: {
'ids': 'ga:***', // My ID
'start-date': '31daysAgo',
'end-date': 'yesterday',
'metrics': 'ga:users,ga:percentNewSessions,ga:sessions,ga:bounceRate,ga:avgSessionDuration,ga:pageviews,ga:pageviewsPerSession',
'prettyPrint':'true',
},
chart: {
'container': 'chart-5-container',
'type': 'TABLE',
'options': {
'width': '100%',
'title': 'test'
}
}
});
dataChart5.on('success', function(response) {
response.data.cols[0].label = "test1"; //here I edit the response
console.log(response);
});
dataChart5.execute();
Run Code Online (Sandbox Code Playgroud)
使用,console.log(response);我可以看到记录已label被修改,但图表在编辑之前已被填充。
我正在使用Google Analytic API来获取数据.我从最近1年获取数据没有任何问题.但是,从昨天开始,服务器在API调用上出现以下错误: -
Google.GoogleApiRequestException: Google.Apis.Requests.RequestError Backend Error [500] Errors [Message[Backend Error] Location[ - ] Reason[backendError] Domain[global] ] ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
Run Code Online (Sandbox Code Playgroud)
另一个值得注意的事情是,当我在调用API时不断在生产服务器上遇到上述错误.那次我尝试从本地机器/舞台机器使用相同的代码和证书进行相同的API调用,并且每次都正常工作.
意味着我现在可以在我的本地和舞台上获得具有相同代码和服务帐户的所有数据.
请找到以下代码:
private static GaData executeDataQueryForCustomDimension(Analytics analytics, String profileId,Map reqMap) {
GaData gaData = new GaData();
String startDate = (String) reqMap.get("fromDate");
String toDate = (String) reqMap.get("toDate");
try {
gaData = analytics.data().ga().get("ga:" + profileId, // Table Id.
startDate, // Start date.2015-01-01
toDate, // End date.2015-07-07
"ga:visits") // Metrics.
.setDimensions("ga:pagePath")
.setMetrics("ga:timeOnPage") …Run Code Online (Sandbox Code Playgroud) 有没有办法从具有特定用户代理的访问者中排除Google Analytics的所有属性和所有视图?
注意:它不适用于垃圾邮件/机器人防护(我已经检查了功能管理员>查看设置>机器人过滤>排除已知机器人和蜘蛛的所有命中),这是为了删除部分自己的流量.我无法使用IP过滤,因为我的IP一直在变化,我使用了很多设备(移动/台式机/笔记本电脑).我也不能使用cookies,因为我经常想把我的网站测试为一个随机的非登录用户.在深入探索Analytics UI之后,我没有找到任何结果.也许这需要API?