Google Analytics API(分析API)是Google提供的一套RESTful接口,允许开发者以编程方式访问Google Analytics数据。查询资源管理器(Query Explorer)是Google提供的一个交互式工具,用于构建和测试Google Analytics API查询。
Query Explorer本身不提供API端点,但它可以帮助你构建正确的API请求。以下是使用API提交查询的基本方法:
首先需要获取OAuth 2.0访问令牌:
// 使用Google API客户端库获取令牌的示例
const {google} = require('googleapis');
const analytics = google.analytics('v3');
const oauth2Client = new google.auth.OAuth2(
'YOUR_CLIENT_ID',
'YOUR_CLIENT_SECRET',
'YOUR_REDIRECT_URL'
);
// 设置访问令牌
oauth2Client.setCredentials({
access_token: 'YOUR_ACCESS_TOKEN',
refresh_token: 'YOUR_REFRESH_TOKEN'
});
google.options({auth: oauth2Client});
使用Query Explorer构建好查询后,可以通过API提交:
// 使用Google Analytics API v3的示例
analytics.data.ga.get({
'ids': 'ga:XXXXXX', // 视图ID
'start-date': '7daysAgo',
'end-date': 'today',
'metrics': 'ga:sessions,ga:pageviews',
'dimensions': 'ga:country,ga:city',
'sort': '-ga:sessions',
'filters': 'ga:country==United States',
'max-results': 10
}, (err, response) => {
if (err) {
console.error('Error:', err);
return;
}
console.log('Response:', response.data);
});
对于新版API(v4),请求格式有所不同:
const request = {
resource: {
reportRequests: [
{
viewId: 'XXXXXX',
dateRanges: [
{
startDate: '7daysAgo',
endDate: 'today'
}
],
metrics: [
{expression: 'ga:sessions'},
{expression: 'ga:pageviews'}
],
dimensions: [
{name: 'ga:country'},
{name: 'ga:city'}
],
orderBys: [
{
fieldName: 'ga:sessions',
sortOrder: 'DESCENDING'
}
],
dimensionFilterClauses: [
{
filters: [
{
dimensionName: 'ga:country',
operator: 'EXACT',
expressions: ['United States']
}
]
}
],
pageSize: 10
}
]
}
};
analyticsreporting.reports.batchGet(request, (err, response) => {
if (err) {
console.error('Error:', err);
return;
}
console.log('Response:', response.data);
});
问题:收到"401 Unauthorized"错误 原因:访问令牌无效或过期 解决:
问题:收到"400 Bad Request"错误 原因:查询参数无效或不兼容 解决:
问题:返回的数据是采样的 原因:查询的数据量太大 解决:
问题:达到API调用限制 原因:超过每日配额 解决:
通过合理使用Google Analytics API和Query Explorer工具,开发者可以高效地获取和分析网站或应用的用户行为数据,为业务决策提供有力支持。
没有搜到相关的文章