ajaxrestjsonpcosmxively

JSONP pass api key


I've got an arduino uploading sensor data to cosm.com. I made a simple webpage on my local web server to query the cosm.com API and print out the values.

The problem is that if I am not logged into cosm.com in another tab, I get this popup.

enter image description here

The solution is to pass my public key to cosm.com, but I am in way over my head here.

The documentation gives an example of how to do it in curl, but not javascript

curl --request GET --header "X-ApiKey: -Ux_JTwgP-8pje981acMa5811-mSAKxpR3VRUHRFQ3RBUT0g" https://api.cosm.com/v2/feeds/120687/datastreams/sensor_reading


How do I pass my key into the url?:

function getJson() {
$.ajax({
    type:'GET',
    url:"https://api.cosm.com/v2/feeds/120687/datastreams/sensor_reading",

//This line isn't working
    data:"X-ApiKey: -Ux_JTwgP-8pje981acMa5811-mSAKxpR3VRUHRFQ3RBUT0g",

    success:function(feed) {

     var currentSensorValue = feed.current_value;
      $('#rawData').html( currentSensorValue );
    },
    dataType:'jsonp'
});
}


UPDATE: It must be possible because hurl.it is able to query the api http://www.hurl.it/hurls/75502ac851ebc7e195aa26c62718f58fecc4a341/47ad3b36639001c3a663e716ccdf3840352645f1

UPDATE 2: While I never did get this working, I did find a work around. Cosm has their own javascript library that does what I am looking for.

http://cosm.github.com/cosm-js/ http://jsfiddle.net/spuder/nvxQ2/5/


Solution

  • It should be much easier to get it to work using CosmJS. It is an officially supported library and provides full coverage of Cosm API.