天气接口优化点:
1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:“自己做缓存,因为你每请求我一次,我就是有费用的,又拍云 CDN 加速回源是按次收费,你可以了解下”。
2. 接口采用城市 ID 来精准查询请求,具体每个城市对应的 ID 可以查看下面的文件“city.json”每个城市的 city_code 字段,如果是 ””,就是省份不能直接查询天气。
3. 如果需要 1 个小时更新一次的接口,并且支持 https,需要付费 800 元,不限次数,永久有效,不足一年按 12 / 8 * 使用月数退款,提供公司盖章收据。
4. 每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。
5. 增加了独立的年月日字段:ymd 如“2018 年 12 月 12 日”原来的 date 改成了独立的日,如 12,增加了独立的星期字段 week:如“星期日”,具体看下面返回值说明。
6. 天气取消了昨天天气,增加到了 15 天天气(2019 年 02 月 16 日更新)
接口自问自答
1、接口能不能 ajax jsonp 的方式调用?
答:不能,必须后端语言,比如 Java、PHP、C#,PY 等。注:Android,iOS 之类直接调用,我发现后会封掉,建议后端调用。
2、接口每天的更新时间是什么时候?
答:天气更新时间为每天的:3 点,8 点,13 点,19 点,所以建议不要凌晨去获取,加上 CDN 有 1 个小时的缓存,建议 4 点,9 点,14 点,20 点后获取。
3、接口稳定吗?
答:应该,也许、如果的话,是稳定的。如果不明白的话,你摸着良心觉得您问的是不是废话。
4、天气有哪些状态?天气图片哪里获取?
答:请加 QQ 群:608222884(验证消息“sojson api”),群内有全部的类型和参考文件。此群不收费,不要发广告。
5、提示 403 是怎么回事?
答:此接口理论上不限制次数,如果你一天需要调用大量,比如几十万次一天必封无疑。几万次也有封的可能性比如一瞬间高并发调用,我会酌情考虑封掉。
6、提示有恶意调用是什么意思?
答:因为你一直循环调用,没有做缓存,对服务器造成了很大的压力,请参照第五点。
新天气接口请求参数:
具体请看下面的 city.json 文件,下面以天津举例。
{
"_id": 26,
"id": 26,
"pid": 0,// 父 ID
"city_code": "101030100",// 接口需要的 city_code
"city_name": "天津"
}
上面不算参数,只是对于 city.json 文件说明一下,有用的参数就 city_code 的值。
那天津对于的 ID 就是 city_code:101030100。
请求链接:http://t.weather.sojson.com/api/weather/city/101030100 就这个链接,然后 get 请求,不用再带任何参数。请求是 restfull 风格,city_code 为 9 位数字。只要拼接在地址“http://t.weather.sojson.com/api/weather/city/+city_code”后面即可。
接口返回值:
接口成功返回值:
{
"time": "2018-09-22 12:37:21",// 系统更新时间
"cityInfo": {
"city": "天津市", // 请求城市
"cityId": "101030100",// 请求 ID
"parent": "天津", // 上级,一般是省份
"updateTime": "12:32"// 天气更新时间
},
"date": "20180922", // 当前天气的当天日期
"message": "Success !", // 返回 message
"status": 200, // 返回状态
"data": {
"shidu": "22%", // 湿度
"pm25": 15.0, //pm2.5
"pm10": 46.0, //pm10
"quality": "优", // 空气质量
"wendu": "24", // 温度
"ganmao": "各类人群可自由活动",// 感冒提醒(指数)"forecast": [// 今天 + 未来 14 天
{
"date": "22",
"ymd": "2018-09-22", // 年月日(新增)"week": "星期六", // 星期(新增)"sunrise": "05:57",
"high": "高温 26.0℃",
"low": "低温 15.0℃",
"sunset": "18:10",
"aqi": 55.0,
"fx": "西北风",
"fl": "4- 5 级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "23",
"ymd": "2018-09-22", // 年月日(新增)"week": "星期日", // 星期(新增)"sunrise": "05:58",
"high": "高温 23.0℃",
"low": "低温 14.0℃",
"sunset": "18:09",
"aqi": 29.0,
"fx": "西北风",
"fl": "4- 5 级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "24",
"ymd": "2018-09-22", // 年月日(新增)"week": "星期一", // 星期(新增)"sunrise": "05:59",
"high": "高温 24.0℃",
"low": "低温 15.0℃",
"sunset": "18:07",
"aqi": 25.0,
"fx": "西北风",
"fl": "<3 级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "25",
"ymd": "2018-09-22", // 年月日(新增)"week": "星期二", // 星期(新增)"sunrise": "06:00",
"high": "高温 24.0℃",
"low": "低温 16.0℃",
"sunset": "18:05",
"aqi": 56.0,
"fx": "西南风",
"fl": "<3 级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "26",
"ymd": "2018-09-22", // 年月日(新增)"week": "星期三", // 星期(新增)"sunrise": "06:01",
"high": "高温 24.0℃",
"low": "低温 17.0℃",
"sunset": "18:04",
"aqi": 86.0,
"fx": "西南风",
"fl": "3- 4 级",
"type": "阴",
"notice": "不要被阴云遮挡住好心情"
}
]
}
}
参数错误返回值:
{
"time": "2018-09-22 12:45:29",
"message": "CityId 不在返回之内。",
"status":403
}
参数数位不对返回值:
{
"message": "Request resource not found.",
"status": 404
}
城市数据:
请看下面附件链接,点击下载不会乱码,打开有可能会乱码。
http://cdn.sojson.com/_city.json