Hi I am buliding my first web app using javascript and fetching data using API from www.openweathermap.org/ I have used the API key as mentioned in the documentation still it is giving an error of unauthorization. Can there be any other reason for this error while calling a function or so . Thank you in advance.
var APPID = "my_secret_key"; var temp; var loc; var icon; var wind; var humidity; var direction; function updateByZip(zip){ var url = "http://api.openweathermap.org/data/2.5/weather?" + "zip = " + zip + "&APPID =" + APPID ; sendRequest(url); } function sendRequest(url){ var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ var data = JSON.parse(xmlhttp.responseText) ; var weather = {}; weather.wind = data.wind.speed; weather.direction = data.wind.deg; weather.loc = data.name; weather.temp = data.main.temp; weather.icon = data.weather[0].id; weather.humidity=data.main.humidity; update(weather); } }; xmlhttp.open("GET", url, true); xmlhttp.send(); }
Advertisement
Answer
It’s the spaces near the equal signs in your URL. It’s likely urlencoding the space and sending your parameter as APPID%20
which is not being recognized as valid.
var url = "http://api.openweathermap.org/data/2.5/weather?" + "zip=" + zip + "&APPID=" + APPID;