我需要通过jQuery使用mixpanel Data Export API。
根据这个:How can I use mixpanel API?和根据mixpanel:https://mixpanel.com/docs/api-documentation/data-export-api#libs-js,我可以使用这个:
$.getJSON('http://mixpanel.com/api/2.0/engage/?callback=?', {
api_key: apiKey,
expire: expire,
sig: sig
},
function (result) {
alert(result);
}
);但结果是我得到了一个错误:
"unknown param: callback
for params: {'callback': 'jQuery18208090281161325954_1358248117308', 'project_id': 160130}"我知道url和我的数据是正确的,因为当我在http://mixpanel.com/api/2.0/engage/?api_key=...&expire=...&sig=...中打开浏览器时,我得到了正确的数据。
我的代码出了什么问题?
发布于 2013-01-15 23:59:00
您的代码没有任何问题。
callback参数适用于.../events/top和.../funnels/list等其他终结点,但此特定engage终结点将返回此错误。
您将不得不使用Mixpanel提出一个问题,即此端点不支持JSONP回调。
令人困惑的是,您可以按照此页面上的说明使用不同的engage端点发布数据:https://mixpanel.com/docs/people-analytics/people-http-specification-insert-data
下面是一个使用此端点的示例:
var mixpanel_token = "<insert token for your mixpanel project here>";
var myData = { "$set": {
"$first_name": "John",
"$last_name": "Smith" },
"$token": mixpanel_token,
"$distinct_id": "99999",
"$ip": "0" };
var dataEncodedToBase64 = window.btoa(JSON.stringify(myData));
var path = 'http://api.mixpanel.com/engage?callback=?';
$.getJSON(path, { 'data': dataEncodedToBase64, 'verbose': 1 }, function(json) {
console.log("Success");
console.log(json);
});只需注意,您的代码应该适用于您在问题中提供的链接中的其他端点,但不适用于engage。
https://stackoverflow.com/questions/14336594
复制相似问题