【问题标题】:Weather forecast using external API使用外部 API 进行天气预报
【发布时间】:2015-04-01 16:52:47
【问题描述】:

我正在尝试使用 openweathermap.org 的外部 API 获取天气预报,并且希望使用 angular.js 到目前为止,我能够在不使用 API KEY 的情况下获取单个城市的预报,并尝试使用以下方式获取多个城市的预报API 密钥的帮助,因为我无法找到使用 api 密钥的正确方法

所以这是我正在尝试做的清晰图片

1.应用应接受用户的多个城市名称 2.根据输入的城市名称,应用程序应显示每个城市14天的天气预报

var artistControllers = angular.module('artistControllers', []);

var apiKey = '89b59e4d7d07894243b5acd24e7f18a3';
artistControllers.controller('WController', ['$scope', '$http', function($scope, $http) {
console.log('ijij');
$http.jsonp('api.openweathermap.org/data/2.5/forecast/daily?id=524901').success(function(err,data){
if(err){
  console.log(err);
}
$scope.data=data;
console.log(data);
});
}]);

【问题讨论】:

  • 您有文档链接吗?

标签: angularjs api rest weather-api


【解决方案1】:

在文档中说:

如何使用 API 密钥

在 GET 请求中添加以下参数: APPID=APIKEY
例子: api.openweathermap.org/data/2.5/forecast/city?id=524901&APPID=1111111111

或者将以下行添加到服务器请求的 http 标头中: x-api-key:APIKEY

因此,您应该可以在 $http 调用中将 API 密钥附加到 url 后面。

见:http://openweathermap.org/appid

或者,正如文档所述,您可以在 HTTP 请求中添加额外的标头。你可以在 AngularJS 中这样做:

var req = {
 method: 'GET',
 url: 'api.openweathermap.org/data/2.5/forecast/daily?id=524901',
 headers: {
   'x-api-key': '89b59e4d7d07894243b5acd24e7f18a3'
 }
}

$http(req).success(function(){...}).error(function(){...});

链接:https://docs.angularjs.org/api/ng/service/$http

【讨论】:

  • 感谢您的回答,但是当我执行 console.log 时,它显示空字符串或 null,您能否提供一个示例,我可以在 url 后面附加 api 密钥,因为我这样做的方式也不起作用.
  • @davidwarne :好的-您尝试调用的方法是什么。找不到批量天气预报的方法。
  • @spike-这就是我想知道的,所以在这个 API 的帮助下,我可以创建一个调用批量预测的方法。
  • @davidwarne 这个怎么样:jsfiddle.net/Ln758jas/1。我将 API 实现为 AngularJS 服务。您可以遍历您的城市并获取他们的天气。
  • @spike-谢谢它真的很有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 2020-05-30
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多