【微信公众号开发】自我学习第六章:微信回复天气问题

来源:互联网 发布:长城宽带续费网络网址 编辑:程序博客网 时间:2024/06/03 20:32

这里写图片描述

        之前我们都处理了翻译的问题,机器翻译必然会有许多逗逼的翻译,今天我们来说说微信回复天气问题,我们自己肯定不回去开发这些天气接口啦,^_^,去百度APIstore 里面找找,有些是免费的,有些是收费的,然后我用的是心知天气的API,注册之后就可以有一些免费的接口,接口文档,我们调用两个接口好啦!

  • 接口1:【获取地区的温度/天气】
https://api.seniverse.com/v3/weather/now.json?key=你的key&location=beijing&language=zh-Hans&unit=c
  • 接口2:【获取地区的生活指数】
https://api.seniverse.com/v3/life/suggestion.json?key=你的Key&location=要搜索的地址&language=zh-Hans

因为我们是初级账号,只能获取部分城市的,6项生活指数等等,如果有需要的可以去升级账号就可以调用更高级详细的接口了。方法实现如下:

  /*    * 心知天气API    * */   private function xinzhiWeather($area) {        $key ='你的key';        $temperatureUrl = 'https://api.seniverse.com/v3/weather/now.json?key='.$key.'&location='.$area.'&language=zh-Hans&unit=c';        $lifeUrl = 'https://api.seniverse.com/v3/life/suggestion.json?key='.$key.'&location='.$area.'&language=zh-Hans';        $data = file_get_contents($temperatureUrl);        $lifeData = file_get_contents($lifeUrl);        $data = json_decode($data, true);        $lifeData = json_decode($lifeData, true);        $str = '【天气情况以及6项生活指数报告】'."\n";        $str .= '【地址】:%s'."\n";        $str .= '【详细地址】:%s'."\n";        $str .= '【时间】:%s'."\n";        $str .= '【天气】:%s'."\n";        $str .= '【温度】:%s度'."\n";        $str .= '【洗车】:%s'."\n";        $str .= '【穿衣】:%s'."\n";        $str .= '【感冒】:%s'."\n";        $str .= '【运动】:%s'."\n";        $str .= '【旅游】:%s'."\n";        $str .= '【紫外线】:%s'."\n";        $str .= '谢谢支持!么么哒';        if($data['results'][0]['now'] && $lifeData['results'][0]['suggestion']){            $lifeDataParam = $lifeData['results'][0]['suggestion'];            $info = sprintf(                $str,                $data['results'][0]['location']['name'],                $data['results'][0]['location']['path'],                date_format(new \DateTime(),'Y-m-d h:m:s'),                $data['results'][0]['now']['text'],                $data['results'][0]['now']['temperature'],                $lifeDataParam['car_washing']['brief'],                $lifeDataParam['dressing']['brief'],                $lifeDataParam['flu']['brief'],                $lifeDataParam['sport']['brief'],                $lifeDataParam['travel']['brief'],                $lifeDataParam['uv']['brief']            );        }else{            $info = '该城市不适合我们试用的用户!╮(╯▽╰)╭';        }       return $info;}

然后我们就可以看到效果~(≧▽≦)/~啦啦啦:

这里写图片描述

阅读全文
1 0