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");
},