《细说PHP》第四版 样章 第23章 自定义PHP接口规范 11

社会主义新天地 提交于 2019-11-29 08:55:30

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的接口。

Ø 通过第三方接口实现支付功能。

Ø 对微信公众账号中的订阅号或服务器进行二次开发。

Ø 设计和开发一款自己的微信小程序。

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!