api - 如何使用开放天气 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 文档中我看到如下:
解决方案
我认为您可能误解了该 API 集的用途。这套系统用于管理来自手动策划的气象站列表的数据 - 如果您知道一个气象站,您希望跟踪其数据,您可以将该气象站发布到您的帐户,然后使用相关的温度测量值更新它,该站的风速等。
因此,您列出的第一个 GET 调用不是列出“所有存在的气象站”,而是列出您以这种方式添加到帐户中的所有气象站,归因于您的 api 密钥,我会推荐保密以备将来参考;)
无论如何,如果您想成功调用该 GET,请删除问号前的最后一个斜杠:
https://api.openweathermap.org/data/3.0/stations?appid=ba1ea204c72ac863c39f442476b8bc71
在您的情况下,只会返回一个空列表,因为您没有通过该页面上先前列出的 POST 方法将任何自定义气象站添加到您的帐户。
您的问题的第二部分是关于为什么具有指定电台 ID 的呼叫不起作用 - 所讨论的 ID 是示例自定义电台的 ID,同样,不是 openweathermap.org 具有的特定电台,而是在他们的例子。
推荐阅读
- angular - 如果打字稿中出现其他错误,vscode中的角度6项目
- jquery - 动态更改数据表背景颜色
- scala - 使用 testkit 对 akka 进行 gradle 测试
- laravel - 为模块生成文档的工具
- git - Git合并过程忽略文件
- javascript - var a= true if (x === 'condition') - it is similar to a ternary, but more like plain english. Is this valid javascript syntax?
- api - 谷歌地图开发水印无法摆脱
- javascript - 网页如何找到要 POST 的值?
- r - r 子集 `x` 和 `labels` 必须是同一类型
- php - PHP code supposed to check a file for an ID not working correctly