首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery ajax调用mixpanel

使用jquery ajax调用mixpanel
EN

Stack Overflow用户
提问于 2013-01-15 19:19:00
回答 1查看 1.1K关注 0票数 2

我需要通过jQuery使用mixpanel Data Export API。

根据这个:How can I use mixpanel API?和根据mixpanel:https://mixpanel.com/docs/api-documentation/data-export-api#libs-js,我可以使用这个:

代码语言:javascript
复制
$.getJSON('http://mixpanel.com/api/2.0/engage/?callback=?', {
        api_key: apiKey,
        expire: expire,
        sig: sig
    },
    function (result) {
        alert(result);
    }
);

但结果是我得到了一个错误:

代码语言:javascript
复制
"unknown param: callback
for params: {'callback': 'jQuery18208090281161325954_1358248117308', 'project_id': 160130}"

我知道url和我的数据是正确的,因为当我在http://mixpanel.com/api/2.0/engage/?api_key=...&expire=...&sig=...中打开浏览器时,我得到了正确的数据。

我的代码出了什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

下面是一个使用此端点的示例:

代码语言:javascript
复制
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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14336594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档