2

cosm.comにセンサーデータをアップロードするarduinoがあります。cosm.com API にクエリを実行し、値を出力するための簡単な Web ページをローカル Web サーバーに作成しました。

問題は、別のタブで cosm.com にログインしていない場合、このポップアップが表示されることです。

ここに画像の説明を入力

解決策は、私の公開鍵を cosm.com に渡すことですが、ここで頭を悩ませています。

ドキュメントには、curl でそれを行う方法の例が示されていますが、javascript では示されていません

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


キーを 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'
});
}


更新: hurl.it は API を照会できるため、可能である必要があり ます

更新 2: 私はこれを機能させたことはありませんでしたが、回避策を見つけました。Cosm には、私が探していることを行う独自の JavaScript ライブラリがあります。

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

4

2 に答える 2

5

クエリ文字列としてではなく、ヘッダーとして送信する必要があるため、次を試してください。

function getJson() {
  $.ajax({
    type:'GET',
    url:"https://api.cosm.com/v2/feeds/120687/datastreams/sensor_reading",
    headers:{"X-ApiKey": "-Ux_JTwgP-8pje981acMa5811-mSAKxpR3VRUHRFQ3RBUT0g"},
    success:function(feed) {
     var currentSensorValue = feed.current_value;
      $('#rawData').html( currentSensorValue );
    },
    dataType:'jsonp'
  });
}
于 2013-03-31T17:05:47.593 に答える
0

CosmJSを使用して動作させる方がはるかに簡単です。これは公式にサポートされているライブラリであり、Cosm API を完全にカバーしています。

于 2013-04-01T13:26:37.570 に答える