一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

微信公眾平臺天氣預報功能開發

本來是想自己直接從中國天氣網獲取信息并處理,后來發現處理起來太麻煩,而且要獲取所有城市的城市編碼,再有就是!不支持國外天氣!!(我們學校有很多畢業生在國外上學,所以我考慮還是做出支持國外天氣的版本)

因此考慮直接調用別人的API,一開始選用了方倍工作室已經做好的接口(無奈也沒有國外)。直到有一天返回北京天氣溫度是零下的時候(當時天熱到不敢出門)。。。換!換!換!

后來終于發現最靠譜的接口----百度的天氣API。

廢話少說,首先大家要上 百度地圖API申請一個專用key(大概一分鐘就搞定了,很方便)
代碼如下:

//圖文信息2 for 天氣【這是微信的圖文信息模板】  $tqTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><ArticleCount>5</ArticleCount><Articles><item><Title><![CDATA[%s]]></Title><Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item><item><Title><![CDATA[%s]]></Title><Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item><item><Title><![CDATA[%s]]></Title><Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item><item><Title><![CDATA[%s]]></Title><Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item><item><Title><![CDATA[%s]]></Title><Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item><item><Title><![CDATA[%s]]></Title><Description><![CDATA[%s]]></Description><PicUrl><![CDATA[%s]]></PicUrl><Url><![CDATA[%s]]></Url></item></Articles></xml> ";//最后發現最多只能看到五個item= =無語。。。

php代碼

if(substr_count($keyword,'天氣')!=0 && $keyword!='天氣')  {    $geshu = substr_count($keyword,'天氣');   $t = explode("天氣",$keyword);      for($i=0;$i<=$geshu;$i++)   {    if($t[$i]!='')    {    $city = $t[$i];    break;    }       }   $mykey = "【這里換成你的API key】";   $url = "http://api.map.baidu.com/telematics/v3/weather?location=".$city."&output=json&ak=".$mykey;   $output = file_get_contents($url);   $contentStr = json_decode($output, true);      if($contentStr['status']=='success')   {        $T[0]['Title']=$contentStr['date']." ".$contentStr['results'][0]['currentCity']."天氣";//$T[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg";//$T[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg";    //上面兩行可以設成你想要的頂部圖片    if(is_array($contentStr['results'][0]['index']))    {    $T[2]['Title']="【pm2.5】".$contentStr['results'][0]['pm25']."/n"."【".$contentStr['results'][0]['index'][0]['title']."】"."(".$contentStr['results'][0]['index'][0]['zs'].") ".$contentStr['results'][0]['index'][0]['des'];    //下一行是洗車指數,感覺不對主題還是不要的好。。    //$T[2]['Title']=$T[2]['Title']."/n"."【".$contentStr['results'][0]['index'][1]['title']."】(".$contentStr['results'][0]['index'][1]['zs'].") ".$contentStr['results'][0]['index'][1]['des'];    $T[2]['Title']=$T[2]['Title']."/n"."【".$contentStr['results'][0]['index'][2]['title']."】(".$contentStr['results'][0]['index'][2]['zs'].") ".$contentStr['results'][0]['index'][2]['des'];    }    else    $guowai=1;    for($i=1,$aaa=0;$i<=5;$i++)    {    if($i==2 && $guowai!=1)     continue;    if($guowai==1 && $i==5)     continue;    $T[$i]['Title']=$contentStr['results'][0]['weather_data'][$aaa]['date']." ".$contentStr['results'][0]['weather_data'][$aaa]['temperature']." ".$contentStr['results'][0]['weather_data'][$aaa]['weather']." ".$contentStr['results'][0]['weather_data'][$aaa]['wind'];    $T[$i]['PicUrl']=$contentStr['results'][0]['weather_data'][$aaa]['dayPictureUrl'];    $T[$i]['Url']=$contentStr['results'][0]['weather_data'][$aaa]['dayPictureUrl'];    $aaa++;    }        $tianqi = sprintf($tqTpl,$fromUsername,$toUsername,time(),"news",$T[0]['Title'],$T[0]['Description'],$T[0]['PicUrl'],$T[0]['Url'], $T[1]['Title'],$T[1]['Description'],$T[1]['PicUrl'],$T[1]['Url'], $T[2]['Title'],$T[2]['Description'],$T[2]['PicUrl'],$T[2]['Url'], $T[3]['Title'],$T[3]['Description'],$T[3]['PicUrl'],$T[3]['Url'], $T[4]['Title'],$T[4]['Description'],$T[4]['PicUrl'],$T[4]['Url'],$T[5]['Title'],$T[5]['Description'],$T[5]['PicUrl'],$T[5]['Url']);    echo $tianqi;   }   }

效果圖如下:

將其中的$mykey變量改成自己的APIkey就行了。另外有一點讓我不解的是,我微信用的圖文模板明明是6個item,為什么回復實際效果只有5個呢= = 求廣大網友幫忙解釋

最后附代碼說明。用戶發送“北京天氣”和“天氣北京”都是可以的,所以首先做了字符串處理,得到正確的城市名。利用百度地圖API給的網址,發出GET請求(其實就是直接訪問),獲取一個json類型的數據包。將數據包信息轉成數組格式,對應的回復微信用戶即可。國外的天氣沒有當天天氣的具體說明,所以最后做了一點小修改。

php技術微信公眾平臺天氣預報功能開發,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 超91在线| 午夜影院在线免费观看 | 婷婷精品视频 | 国产精品麻豆一区二区三区v视界 | 亚洲综合成人网 | 亚洲综合伊人色一区 | 91精品久久一区二区三区 | 视色4se成人午夜精品 | 日韩经典欧美一区二区三区 | 日本精品中文字幕在线播放 | 国产一区二区在线观看免费 | 亚洲综合色婷婷中文字幕 | 在线一区免费视频播放 | 超级成人97碰碰碰免费 | 国产婷婷成人久久av免费高清 | 日韩三级精品 | 女人的天堂网 | 国产网站在线 | 欧美激情在线精品一区二区 | 亚洲一区二区精品视频 | 91精品全国免费观看含羞草 | 图片专区亚洲 欧美 另类 | 在线观看视频色 | 五月婷婷色丁香 | 在线精品国产一区二区 | 国产91免费在线 | 15p亚洲 | 五月婷婷丁香六月 | 亚洲伊人国产 | 老司机51精品视频在线观看 | 97视频国产| 99爱在线视频这里只有精品 | 成人福利在线观看 | 激性欧美在线播激性欧美 | 久草热在线观看 | 青青草97国产精品免费观看 | 亚洲国产视频网站 | 污片网站在线看 | 在线观看精品视频一区二区三区 | 9久9久女女免费精品视频在线观看 | 日韩a无吗一区二区三区 |