使用openweathermap api得到未经授权的错误

时间:2018-10-09 16:31:54

标签: javascript

我需要一些帮助来理解为什么此api不喜欢我的格式。 收到401错误,但我为服务器指定了appid,这是我的代码,感谢您的帮助!

       function getForecast(){
          var city = $("#city").val();
          var days = $("#days").val();
          var appID ='APIKEY';


    if(city != '' && days != ''){

        $.ajax({
        url: 'http://api.openweathermap.org/data/2.5/forecast/daily? 
         q='+city+'&units=metric&cnt='+days+'&APPID='+appID+'',
        type:"GET",
        dataType: "jsonp",

2 个答案:

答案 0 :(得分:0)

可以安全地假设您已经在某个地方(例如.env文件)定义了实际的“ APIKEY”吗?

我可能希望看到类似以下内容的内容: function check_cache($object){ $file = '../../cache/' . $object . '.json'; if(file_exists($file)){ $time_cache = date ("H:i:s", filemtime($file)); $time_now = date ("h:i:sa"); $diff = strtotime($time_now) - strtotime($time_cache); if($diff <= 60) {return true; } //Neu genug else {return false;} //Zu alt } return false; }

如果您首先未在任何地方声明实际的APIKEY,则需要从openweathermap中获取一个,然后我建议您研究环境变量,以便您知道如何调用它们。

答案 1 :(得分:0)

我知道了我的问题。我说的api代码错误。 代替:

     http://api.openweathermap.org/data/2.5/forecast/daily? 
     q='+city+'&units=metric&cnt='+days+'&APPID='+appID+

我需要打电话给这个

      http://api.openweathermap.org/data/2.5/forecast? 
       q=London,us&mode=json&appid

仍然感谢