中国气象网 气象数据开放平台 API用法 (Android)
因为要做个天气应用。须要找个天气的API。上网上搜了下都是那几个,并且基本都过时了。百度有个天气API,只是貌似仅仅能提供当天的。网上提到的中国气象接口的文章,大都用的时旧API,有的被封了,有的永远停到了2014年3月24不更新了。
后来找到了中国天气的新接口,已经升级成气象数据开放平台了http://openweather.weather.com.cn/。没有开发人员社区或论坛什么的,仅仅能自己琢磨他的文档了(感觉没人维护。。)。
经过几个疑难点卡住后。总算调通了。
现分享给大家。
1.申请keys
首先注冊账号。然后填资料等审核(还要身份证。
。。)。话说审核真是慢,我等了一个星期才审核通过,之后就有了自己的Key了,这个请求天气数据时会用到。
2.申请服务
审核通过后,就能够去产品中心那申请接口了。眼下有两种:常规气象数据接口与基础气象数据接口。
差别在于常规的比基础的城市多。至于价钱么,不要300/年,不要30/年,如今大优惠仅仅需0/年,常规气象数据接口带回家:P。
3.研读API文档
有JAVA的演示样例代码能够參考,主要包括key加密的内容。能够直接用,其它请求等须要自己写。
请求用get,解析用json,没什么难点,主要是加密这。。。
这个加密之前也没怎么太上心看,结果看晕了,卡了不少时间。
主要加密由public_key与private_key结合,作为key这个參数,一起传递过去。
传递URL格式例如以下:
http://open.weather.com.cn/data/?areaid="areaid"&type="type"&date="date"&appid="appid_six"&key="key"
參数介绍:
areaid:城市地区代码,官方有表格提供。能够考虑用101010100(北京)
type:请求数据的类型:指数:index_f(基础接口);index_v(常规接口); 3天预报:forecast_f(基础接口);forecast_v(常规接口);我用的forecast_v
date:当前时间 格式yyyyMMddHHmm 如201506051423
appid:这是个坑。这块正式请求时,用的是appid的前六位,我在这卡了非常久。。
。仅仅有作为public_key时才用完整的appid,后边会说
key:到了这个复杂的东西了。这块用到三个东西来完毕,首先:
private_key:申请到的那个key
public_key:格式例如以下。与传递的URL类似但不同,其一在于没有key參数,其二在于appid使用的是完整的appid。这非常重要
http://open.weather.com.cn/data/?areaid="areaid"&type="type"&date="date"&appid="appid_full"
然后有个这两个之后,使用提供的java演示样例代码中的standardURLEncoder(public_key。private_key),将公钥和私钥结合为key參数
之后基本就能够收到返回的天气信息了。
4.解析天气信息
返回的json信息就不多说了,官方提供的文档有相应的解释,就是參数都是c1,c2...fa,fb,fc之类的,太不人性化了。
在这遇到的主要问题是。返回的汉子乱码。。
。。
预计可能时因为和server端使用的编码不同,不是utf-8。。
。。。
并且官方啥都没说。。。。。
没办法,我就仅仅能苦逼的一个一个编码尝试,用了好多种方法解码总算是还原为汉字了。方法例如以下:
byte[] converttoBytes = weather.city.getBytes("ISO-8859-1");String s1 = new String(converttoBytes);System.out.println(s1);weather.city = s1;
经过測试,传来的汉字格式竟然是ISO-8859-1的?(此处如理解有错误,请指正)好吧。感觉非常奇葩--!
到这大家基本就都能顺利调通了吧,相信小伙伴都没问题的
项目地址:https://github.com/rsy210/MyWeather
转载请注明出处哈http://blog.csdn.net/lqc1992/article/details/46375567
转载于:https://www.cnblogs.com/mengfanrong/p/5371495.html
中国气象网 气象数据开放平台 API用法 (Android)相关推荐
- 中国气象网 气象数据开放平台 API使用方法 (Android)(已废弃)
2016.7.25更新: 原来的接口已经停用了,现在换了http://www.weatherdt.com/ 这个基本都要求收费了,没有在研究,声明一下. ======================= ...
- 网易云音乐开放平台API
推荐API 获取相似歌曲 https://openapi.music.163.com/openapi/music/basic/similar/song/list/get/v2 获取每日推荐 https ...
- 用python获取气象数据开放平台信息
缘由 前端时间在练手做一个Android天气预报的App,然后就去找现有的公共API,发现找到的大部分的网址都是 失效的,最后发现了 聚合数据 和 气象数据开放平台, 由于感觉后者的操作优点麻烦,所以 ...
- 2020版中国开放数据(Open Data)及政府数据开放平台汇总
2020版中国开放数据(Open Data)及政府数据开放平台汇总 链接 北京市 北京市政务数据资源网 http://www.bjdata.gov.cn/jkfb/index.htm 56家单位.11 ...
- 新华智云基于MaxCompute建设媒体大数据开放平台
摘要:随着自媒体的发展,传统媒体面临着巨大的压力和挑战,新华智云运用大数据和人工智能技术,致力于为媒体行业赋能.通过媒体大数据开放平台,将媒体行业全网数据汇总起来,借助平台数据处理能力和算法能力,将有 ...
- 基于MaxCompute的媒体大数据开放平台建设
随着自媒体的发展,传统媒体面临着巨大的压力和挑战,新华智云运用大数据和人工智能技术,致力于为媒体行业赋能.通过媒体大数据开放平台,将媒体行业全网数据汇总起来,借助平台数据处理能力和算法能力,将有价值数 ...
- 关于淘宝API的详细说明(淘宝开放平台API揭秘)
自淘宝开放平台Beta公测开始,陆续开放了上百次个API,这些API涵盖了淘宝基本业务,截止发日志当天开放平台API每天的调用量可是说是天文数字. 作为TOP开发者的您对 于淘宝平台-API可以信手拿 ...
- B2G最全的国内政务数据开放平台大汇总 数据驱动国计民生
数据是国家的战略性资源.政府部门在履行行政职能.管理社会公共事务的过程中采集和储存了大量数据,这些数据是社会的公共资源. 在保障国家秘密.商业秘密和个人隐私的前提下,如果将政府数据最大限度地开放出来, ...
- 报名|首届中国智慧城市大数据开放创新应用大赛
首届中国智慧城市大数据开放创新应用大赛是在中国国际智能产业博览会承委会和中国国家信息中心共同指导下,由中国信息协会数字治理专业委员会.重庆市大数据应用发展管理局及九龙坡区人民政府共同主办,中国工业设计 ...
最新文章
- Wireshark数据包分析之TCP协议包解读
- 变量与字符串的连接 - format、格式化字符串
- 【2019暑假刷题笔记-图的存储和图的遍历】绪论(代码模板-总结自《算法笔记》)
- Lesson 1#03-Python安装与Hello Python World
- php环境搭建5.6_WIN8.1下搭建PHP5.6环境
- P2217-[HAOI2007]分割矩阵【dfs,记忆化搜索】
- 西门子rwd68温控器说明书_西门子RWD68说明书
- 微课|Python程序设计开发宝典(5.2.2):默认值参数
- 设置 ASP.NET 存储当前应用程序的临时文件(生成的源、编译了的程序集等)的目录的物理路径。...
- python数据框追加_将行追加到Pandas数据框将添加0列
- 将java对象转换成json字符串_将java对象转换成json字符串
- 5G移动通信 笔记 - 5G接入网架构
- 阿里云服务器延迟多少?测一下
- 微信小程序之文本换行居中
- 名帖347 怀素 草书《大草千字文》
- LaTeX 章节 Sections Chapters
- 三、python调用打印机,打印文字
- post模拟传数据的几种方法
- 适用于计算机/手机的常用音乐播放器推荐
- 春节短视频暗战,微视后发制人
热门文章
- 【visum工作笔记】之二
- python scipy下载_scipy下载|scipy python2.7 Windows版下载 V0.18.1 官方版 - 比克尔下载
- 2020 ICPC Asia Taipei-Hsinchu Site M. Keystroke(模拟)
- Codeforces Round #827 (Div. 4) A~G
- 淘宝以图搜图批量搜1688同款软件
- 全向天线和定向天线的差异
- open(/dev/dsp)函数调用流程 --OSS接口
- 北大青鸟BENET网络工程教材
- 考研不歧视双非的院校计算机专业,最全收集!40多所不歧视本科的考研院校!...
- debian-7.11.0-amd64用xrdp远程桌面连接时键盘错乱的修复