做个小工具展示本地天气,翻了好几家开放平台,有的文档写着免费,点进去发现要企业认证,有的给几千次额度用完就断。折腾一圈才摸清门道,免费不等于随便用。

天气接口大多按调用次数算,免费的额度从每天几十次到几千次不等。选之前先估自己量,个人小工具一天几百次,选哪个都够,要是给App用,得算上用户数乘刷新频率。

申请和调用:走通最小流程

先去平台注册,实名后创建应用,拿到key。调用一般是往固定网址发请求,带上城市编码或者经纬度,再加key。返回是JSON,里面有当前温度、湿度、风向和未来几天的预报。城市字段有的要编码有的要中文,看文档要求。

请求示例 GET https://接口域名/weather?city=101010100&key=你的密钥 返回字段 temp,humidity,wind,forecast query 参数 city 或 lon 和 lat

把key贴进代码前,别硬编码在前端,会被扒。放后端转发,或者用环境变量存,接口配好白名单。免费额度也要防刷,加个缓存,十分钟内同一城市直接读缓存,能省一大截调用。

挑平台看这几条

  • 额度:免费每天多少次,超了是收费还是直接拒绝
  • 频率:有没有每秒并发限制,批量查会不会被限流
  • 字段:要的数据全不全,有没有生活指数和空气质量
  • 稳定:响应快不快,有没有历史可用性记录

常见坑还有几个。城市名带市字有的接口不认,得用规范编码。接口偶尔超时,代码里要设超时和重试,别一次失败整个页面白屏。返回的时间是北京时间还是UTC,处理时区别搞反,否则显示差八小时。

取舍很简单。个人玩选额度够用、文档清楚的就行。商用要提前算量,免费额度只当兜底,主用还是按量付费的接口,稳定优先。