2016-04-30 13 views
2

Die Google Analytics v4-API wurde gerade veröffentlicht und GET-Anfragen wurden in POST-Anfragen geändert. Und es gibt keine guten Beispiele gibt es noch aus ...Ajax POST-Anfrage an die neue Google Analytics V4-API

So habe ich erfolgreich accessToken erhielt, aber wenn ich die folgende POST-Anfrage versuchen - ich bin immer leeres Objekt Objekt immer {}, aber ich bin sicher, dass Daten da sind und ViewID stimmt!

Jeder Rat hilft! Vielen Dank!

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

Antwort

2

Lösung war, diesen Teil zu ersetzen:

data: params, 
dataType: "json", 

mit diesem:

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