2016-07-12 15 views
0

私は都市の天気詳細を取得するために単純なWeb APIを使用していますロンドン。しかし、私は必要な応答を得るのではなく、401エラーです。私は間違って何かしていますか?次のAPI天気API(RESTful)エラーを与える

http://openweathermap.org/current

ERRORを使用して

HTML

<html> 
<head> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $('button').click(function(){ 
     $.ajax({ 
      type: "get", 
      url: "http://api.openweathermap.org/data/2.5/weather?q=London", 
      dataType: "json", 
      contentType: 'application/json', 
      success: function(data) { 
        //What to do on success 
      } 
     }); 
    }); 
}); 
</script> 
</head> 

<body> 
    <button>Click Me</button> 
</body> 

</html> 

enter image description here

+0

このURLを呼び出す私はこの応答を受け取ります: '{" cod ":401、" message ":無効なAPIキーhttp:// oを参照してください詳細については、penweathermap.org/faq#error401を参照してください。 "}'リクエストに有効なAPIキーを渡していますか? http://openweathermap.org/faq#error401 –

+0

Pls添付のページとドキュメントを参照してください。私はそこからURLを選びました。 – Deadpool

+0

ドキュメントには、使用するためのAPIキー(http://openweathermap.org/appid)が必要であると記載されています。また、無料のアカウントでは、APIの呼び出し回数に制限があることに注意してください。あなたのウェブサイトでこのサービスに頼る必要がある場合は、SLAの支払いをお勧めします –

答えて

1

気象APIのURLにキーを追加する必要があります。

あなたがこれを行うには、小さな機能を追加することができます。

var url = 'http://api.openweathermap.org/data/2.5/forecast/city'; 
var keys = { 
    id: 524901, 
    APPID: 12345 // Put your key here 
}; 

function makeUrl (url, queryStringObject) { 
    var query = []; 
    // Loops through each key 
    for(var key in queryStringObject){ 
     query.push(encodeURIComponent(key) + '=' + 
      encodeURIComponent(queryStringObject[key])); 
    } 
    // Returns the url with the keys appended 
    return url + (query.length ? '?' + query.join('&') : ''); 
} 

これは、APIによって必要な形式で鍵を返します。

http://api.openweathermap.org/data/2.5/forecast/city?id=524901&APPID=12345 

その後、APIへの呼び出しで、あなたを