23.6 使用第三方接口服务实例
接供服务的第三方接口平台有很多,现在的项目中也经常用到一些第三方接口,如支付宝、微信、短信、邮件接口等,我们需要借助第三方的能力来实现产品的某些功能。如果自己已经掌握了实现开发接口的方法,应用第三方接口就比较容易了,它们都遵循RESTful风格API的原则,原理是相似的。本节我们来演示通过调用第三方接口获取天气信息,放到自己的网站上的方法。
23.6.1 查找API
用谁的接口,就需要到谁的平台上查找接口的使用文档。例如,想对微信公众平台的服务号进行二次开发,就需要用自己注册的服务号,登录微信公众平台的系统。设置成开发者权限,就可以查看公众平台提供的所有API说明。根据自己的业务需求,再找到对应的API去使用,从而完成开发目标。更多的第三方接口需求,也可以通过搜索引擎找到提供接口的平台。如APIStore(百度旗下)、易源数据、聚合数据等。
23.6.2 查看API文档说明
进入聚合数据平台,网址为https://www.juhe.cn。如果是第一次使用,需要先在该平台注册一个新的账号。聚合数据平台提供了生活常用、车辆服务、金融征信、位置服务、即时通信、应用开发等分类的各种接口。本节仅演示天气接口的使用,用于获取全国各地的天气情况。通过聚合数据平台的导航菜单,在生活常用栏目中找到天气预报接口文档,文档地址为https://www.juhe.cn/docs/api/id/39,如图23-13所示。
图23-13 全国天气预报数据接口文档
23.6.3 获取接口的key
通过查看文档我们可以看到有个参数 key,这个参数是必填项,用来生成签名进行安全验证。所以我们要先得到这个参数。进入平台的个人中心,通过导航菜单找到“数据中心”下的“我的数据”,如图23-14所示,页面上的“AppKey:3ff5814b0b64c3ee8afc9b2f6c844d75”就是我们需要的key。
图23-14 找到验证的key
有了参数“key=3ff5814b0b64c3ee8afc9b2f6c844d75”,如果想获取 “北京”的天气情况,可以设置参数“cityname=北京”,其他参数可以使用默认值。接口的请求使用get()方法,接口的地址为“http://v.juhe.cn/weather/index”,组合成一个完整的URL如下所示:
GET http://v.juhe.cn/weather/index?cityname=北京&key=3ff5814b0b64c3ee8afc9b2f6c844d75
请求后默认返回JSON格式数据,可以将URL直接复制到浏览的地址栏中,测试接口访问是否正确,执行后结果如图23-15所示。
图23-15 使用浏览器测试天气预报接口
23.6.4 使用 PHP 代码请求接口
在PHP程序中,可以使用自己封装的HTTP类中的get()方法,请求天气接口并处理返回数据。新建一个PHP文件weather.php,代码如下所示:
上例代码包含了获取支持城市列表、根据城市获取天气预报,包括3小时天气预报的实现和近一周的天气情况。示例代码主要解析了一些常用字段,如果需要完整的或其他未包含的字段,可以自行参考官方的接口进行修改,运行结果如图23-16所示。
图23-16 使用PHP处理天气接口返回结果
第三方接口平台上有很多比较实用的接口,都可以用同样的方法去试一试。
23.7 小结
本章必须掌握的知识点
Ø 接口的实现流程。
Ø 接口的请求访问流程。
Ø 按口的安全控制规范算法。
Ø RESTful风格API的原则和规范。
Ø 现实WebAPI框架的原理。
Ø 会使用第三方接口。
本章需要了解的内容
Ø 了解接口的几种实现方法。
Ø 接口的应用和优势。
本章需要拓展的内容
Ø 在自定的WebAPI框架中增加表goods的接口。
Ø 通过第三方接口实现支付功能。
Ø 对微信公众账号中的订阅号或服务器进行二次开发。
Ø 设计和开发一款自己的微信小程序。