2016-04-30 81 views
2

Google Analytics v4 API刚刚发布,GET请求已更改为POST请求。并没有很好的例子在那里又...向新Google Analytics V4 API发送Ajax POST请求

所以,我已经成功接收的accessToken,但是当我尝试以下POST请求 - 我一直都想与空对象对象{},但我确定数据在那里,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); 
     } 
    }); 
}; 

回答

2

溶液来代替这部分:

data: params, 
dataType: "json", 

有了这个:

data: JSON.stringify(params), 
dataType: "json", 
beforeSend: function (xhr) { 
    xhr.setRequestHeader("Content-Type", "application/json"); 
},