首页 > 解决方案 > 如何使用开放天气 API 获取气象站列表

问题描述

我正在尝试使用此链接中的 API

具体来说,我想获取所有气象站。我想我应该使用这个 API:

在此处输入图像描述

这是我到目前为止尝试过的链接:

https://api.openweathermap.org/data/3.0/stations/?appid=ba1ea204c72ac863c39f442476b8bc71

它显示一个内部错误。我在哪里做错了?我很确定我的申请id是正确的并且没有问题。

我也试过这个 API 调用:

https://api.openweathermap.org/data/3.0/stations/583436dd9643a9000196b8d6?appid=ba1ea204c72ac863c39f442476b8bc71

它返回了一个state not found错误。但是,从 API 文档中我看到如下:

在此处输入图像描述

在此处输入图像描述

标签: apiopenweathermap

解决方案


我认为您可能误解了该 API 集的用途。这套系统用于管理来自手动策划的气象站列表的数据 - 如果您知道一个气象站,您希望跟踪其数据,您可以将该气象站发布到您的帐户,然后使用相关的温度测量值更新它,该站的风速等。

因此,您列出的第一个 GET 调用不是列出“所有存在的气象站”,而是列出您以这种方式添加到帐户中的所有气象站,归因于您的 api 密钥,我会推荐保密以备将来参考;)

无论如何,如果您想成功调用该 GET,请删除问号前的最后一个斜杠:

https://api.openweathermap.org/data/3.0/stations?appid=ba1ea204c72ac863c39f442476b8bc71

在您的情况下,只会返回一个空列表,因为您没有通过该页面上先前列出的 POST 方法将任何自定义气象站添加到您的帐户。

您的问题的第二部分是关于为什么具有指定电台 ID 的呼叫不起作用 - 所讨论的 ID 是示例自定义电台的 ID,同样,不是 openweathermap.org 具有的特定电台,而是在他们的例子。


推荐阅读