Skip to content
Advertisement

error 401 : unauthorized, received even after using API key while using www.openweathermap.org

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;
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement