Ajax POST 请求新 Google Analytics V4 API
Ajax POST request to new Google Analytics V4 API
Google Analytics v4 API 刚刚发布,GET 请求已更改为 POST 请求。目前还没有很好的例子......
所以我已经成功收到 accessToken,但是当我尝试以下 POST 请求时 - 我总是得到空对象 Object { },但我确定数据在那里并且 ViewID 是正确的!
任何建议都有帮助!谢谢!
requestAnalyticsData1 = function (accessToken) {
var url = "https://analyticsreporting.googleapis.com/v4/reports:batchGet?";
url += "access_token="+accessToken;
var params = {
"reportRequests":[{
"viewId":"121238102",
"dateRanges":[{
"startDate":"yesterday",
"endDate":"today"
}],
"metrics":[{
"expression":"ga:users"
}],
"dimensions": [{
"name":"ga:pagePath"
}]
}]
}
$.ajax({
url: url,
type: "POST",
data: params,
dataType: "json",
success: function(results) {
console.log(results)
parseAnalyticsReportsData(results);
},
error: function(xhr, ajaxOptions, thrownError) {
alert('failed');
alert(xhr.status);
alert(thrownError);
}
});
};
解决方案是更换这部分:
data: params,
dataType: "json",
有了这个:
data: JSON.stringify(params),
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Content-Type", "application/json");
},
Google Analytics v4 API 刚刚发布,GET 请求已更改为 POST 请求。目前还没有很好的例子......
所以我已经成功收到 accessToken,但是当我尝试以下 POST 请求时 - 我总是得到空对象 Object { },但我确定数据在那里并且 ViewID 是正确的!
任何建议都有帮助!谢谢!
requestAnalyticsData1 = function (accessToken) {
var url = "https://analyticsreporting.googleapis.com/v4/reports:batchGet?";
url += "access_token="+accessToken;
var params = {
"reportRequests":[{
"viewId":"121238102",
"dateRanges":[{
"startDate":"yesterday",
"endDate":"today"
}],
"metrics":[{
"expression":"ga:users"
}],
"dimensions": [{
"name":"ga:pagePath"
}]
}]
}
$.ajax({
url: url,
type: "POST",
data: params,
dataType: "json",
success: function(results) {
console.log(results)
parseAnalyticsReportsData(results);
},
error: function(xhr, ajaxOptions, thrownError) {
alert('failed');
alert(xhr.status);
alert(thrownError);
}
});
};
解决方案是更换这部分:
data: params,
dataType: "json",
有了这个:
data: JSON.stringify(params),
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Content-Type", "application/json");
},