1.天气预报查询API产品介绍
APISpace 的 天气预报查询,支持全国以及全球多个城市的天气查询,包含国内3400+个城市以及国际4万个城市的实况数据,同时也支持全球任意经纬度查询,接口会返回该经纬度最近的站点信息;更新频率分钟级别。
2.天气预报查询详解
2.1 API列表
- 智能天气实况
- 天气逐小时预报
- 天气逐3小时预报
- 15天预报
- 城市搜索(国内、国外城市)
接下来以【智能天气实况】为例展示
2.2 接口请求
请求方式:GET
请求地址:
请求头:
标签 | 必填 | 说明 |
---|---|---|
X-APISpace-Token | 是 | 鉴权私钥,登陆 APISpace 后在管理后台的[访问控制]页面查看 |
Authorization-Type | 是 | 鉴权方式,值为:apikey |
Content-Type | 是 | application/json |
- Query参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
areacode | [string] | 是 | 城市ID,和经纬度二选一。(所有城市ID可在介绍页的相关附件中查看) |
lonlat | [string] | 经纬度,用英文逗号隔开,经度在前纬度在后(格式为:经度,纬度),会返回该经纬度最近的站点信息 |
2.3 返回实例及参数说明
{
“status”: 0,
“result”: {
“location”: {
“areacode”: “JPN10041001001”, //城市ID
“name”: “足立区”, //城市中文名
“country”: “日本”, //所属国家中文名
“path”: “足立区,足立区,东京都,日本” //行政区划路径
},
“realtime”: {
“text”: “多云”, //天气现象,string类型
“code”: “01”, //天气现象编码,string类型
“temp”: 6.5, //气温,单位℃,double类型
“feels_like”: 6, //体感温度,单位℃,int类型
“rh”: 38, //相对湿度,单位%,int类型
“wind_class”: “2级”, //蒲福氏风级,string类型
“wind_speed”: 2.5, //风速,单位m/s,double类型
“wind_dir”: “南风”, //风向,string类型
“wind_angle”: 187, //风向角度,0表示正北,180表示正南,int类型
“prec”: 0.0, //过去1小时降水量,单位毫米(mm),double类型
“prec_time”: “2021-03-05 18:00:00”, //过去1小时降水量所对应的时间段
“clouds”: 99, //云量,单位%,int类型
“vis”: 12085, //能见度,单位米(m),int类型
“pressure”: 1020, //气压,单位百帕(hPa),int类型
“dew”: -6, //露点温度,单位℃,int类型
“uv”: 2, //紫外线指数,int类型
“snow”: 0.0, //降雪量,单位厘米(cm),double类型 #国内城市不支持#
“weight”: 0, //文案权重,int类型
“brief”: “今日惊蛰”, //天气短文案,string类型
“detail”: “今日惊蛰,春雷惊百虫”, //天气长文案 ,string类型
},
“last_update”: “2021-03-05 19:07:44” //数据更新时间(北京时间)
}
}
2.4 接入示例
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
Request request = new Request.Builder()
.url("https://eolink.o.apispace.com/456456/weather/v001/now?areacode=101010100&lonlat=116.407526,39.904030")
.method("GET",null)
.addHeader("X-APISpace-Token","登录APISpace即可获得")
.addHeader("Authorization-Type","apikey")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());