2013-01-15 5 views
2

Мне нужно использовать API экспорта данных mixpanel с помощью jQuery.
В соответствии с этим: How can I use mixpanel API? и в соответствии с mixpanel: https://mixpanel.com/docs/api-documentation/data-export-api#libs-js, я могу использовать это:вызов mixpanel с помощью jquery ajax

$.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=..., я получаю правильные данные.

Что не так с моим кодом?

ответ

4

В коде нет ничего плохого.

Параметр 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.

+0

Спасибо, ты помог мне! Есть ли способ обновить свойства пользователя без изменения свойства «Последнее посещение»? (Мне нужно синхронизировать данные пользователя с моего db). Есть идеи? – Naor

Смежные вопросы