如何一步一步地获取和风天气的天气数据(2026版)

张开发
2026/4/3 20:35:04 15 分钟阅读
如何一步一步地获取和风天气的天气数据(2026版)
如何一步一步地获取和风天气的天气数据2026版一、和风天气核心优势二、前期准备2.1 注册和风天气开发者账号2.2 创建项目并获取认证密钥API 项目ID/JWT Token2.2.1 登录控制台 → 进入项目管理 → 点击创建项目。2.2.2 填写项目名称记录项目ID。2.2.3 先创建Ed25519公钥和私钥2.2.4 上传公钥创建凭据三、获取数据3.1 获取查询位置LocationID3.2 调用接口 以“天气指数”为例 全流程Demo for java本文基于和风天气官方2026年最新版本接口文档从平台优势、事前准备、分步对接、注意事项、实战 Demo全流程讲解帮你快速接入稳定、免费的实时天气数据。一、和风天气核心优势1. 全球覆盖场景完整气象服务覆盖全球支持 20 多万城市、中国 3000 市县区与海外 15 万城市空气质量覆盖 100 国家地区同步提供地理编码、灾害预警、台风、潮汐、天文等全场景数据。2. 精度领先时效丰富数值天气预报分辨率 3–5 公里中国分钟级降水达 1 公里精度空气质量与太阳辐射为 1×1 公里太阳辐射最高 15 分钟间隔同时提供实时、逐小时、30 天预报及近 10 天历史数据。3. 数据齐全一站式满足囊括实况天气、预报、分钟降水、灾害预警、空气质量、生活指数、台风、潮汐、太阳辐射、日出日落 / 月相、历史天气等全品类气象数据无需多接口拼接。4. 开发友好接入便捷提供 API、iOS/Android SDK 多端支持GeoAPI 支持经纬度反查、多语言、模糊搜索配套控制台 API可便捷查询财务与请求量统计降低开发接入成本。5. 适配合规贴合本地空气质量适配当地标准极端天气预警采用全球官方发布源本土场景适配性强。二、前期准备对接 API 前需完成账号注册、密钥获取、位置 ID 查询3 步核心准备缺一不可。2.1 注册和风天气开发者账号访问和风天气开发者控制台https://console.qweather.com/点击注册完成手机号 / 邮箱验证登录开发者平台。2.2 创建项目并获取认证密钥API 项目ID/JWT Token2.2.1 登录控制台 → 进入项目管理 → 点击创建项目。2.2.2 填写项目名称记录项目ID。2.2.3 先创建Ed25519公钥和私钥官方建议使用OpenSSL 3.0.1及以上版本创建Ed25519和验证签名。在大多数Linux和macOS的最新版本中已经集成OpenSSl 3.0对于Windows我们推荐使用winget安装OpenSSL你也可以通过在线工具、熟悉的开发语言或第三方库生成Ed25519私钥和公钥。使用OpenSSL创建Ed25519密钥openssl genpkey-algorithmED25519-outed25519-private.pem\openssl pkey-pubout-ined25519-private.pemed25519-public.pem这将在当前目录创建两个文件ed25519-private.pem私钥用于JWT认证的签名。你应该妥善安全的保管私钥。ed25519-public.pem公钥用于签名的验证需要上传到和风天气控制台2.2.4 上传公钥创建凭据三、获取数据3.1 获取查询位置LocationID参考文档https://dev.qweather.com/docs/api/geoapi/city-lookup/location(必选)需要查询地区的名称支持文字、以英文逗号分隔的经度,纬度坐标、LocationID或Adcode仅限中国城市。例如 location北京 或 location116.41,39.92请求示例curl-XGET--compressed\-HAuthorization: Bearer your_token\https://your_api_host/geo/v2/city/lookup?locationbeij3.2 调用接口 以“天气指数”为例 全流程Demo for javapublicclassQweatherApiTest{privatestaticfinalStringPRIVATE_KEY-----BEGIN PRIVATE KEY-----\nyour_private_key\n-----END PRIVATE KEY-----\n;privatestaticfinalStringHOSThttp://your_host;privatestaticfinalStringWEATHER_NOW_API/v7/weather/now;privatestaticfinalStringWEATHER_INDEX_API/v7/indices/3d;privatestaticfinalStringLOCATION101010100;publicstaticvoidmain(String[]args){try{// 1. 生成 JWT 令牌StringjwtTokengenerateJwtToken();System.out.println(生成的JWT令牌jwtToken);// 2. 拼接请求 URLStringapiUrlWEATHER_INDEX_API?type0locationLOCATION;// 3. 发送 HTTP 请求StringresponsesendWeatherRequest(apiUrl,jwtToken);System.out.println(\n 和风天气 API 响应结果 );System.out.println(response);}catch(Exceptione){System.err.println(调用和风天气API失败);e.printStackTrace();}}/** * 生成 JWT 令牌 */privatestaticStringgenerateJwtToken(){// 参考官方文档returnyour token;}privatestaticStringsendWeatherRequest(StringapiUrl,StringjwtToken){// 创建请求try(HttpResponseresponseHttpRequest.get(HOSTapiUrl).header(Authorization,Bearer jwtToken).execute()){returnresponse.body();}}}

更多文章