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

2022-10-06 11:57:13 字數 1571 閱讀 6302

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

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

後來終於發現最靠譜的介面----百度的天氣api。

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

**如下:

//**資訊2 for 天氣【這是微信的**資訊模板】

$tqtpl = "%s5

程式設計客棧gt;

";//最後發現最多只能看到五個item= =無語。。。

php**

if(substr_count($keyword,'天氣')!=0 && $keyword!='天氣')

}$mykey = "【這裡換成你的api key】";

$url = "".$city."&output=json&ak=".$mykey;

$output = file_get_contents($url);

$contentstr = json_decode($output, true);

if($contentstr['status']=='success')

else

$guowai=1;

for($i=1,$aaa=0;$i<=5;$i++)

$tianqi = sprintf($tqtpl,$fromusername,$tousername,time(),"news",$t[0]['title'],$t[0]['description'],$t[0]['picurl'],$t[0]['url'], $t[1]['title'],$t[1][www.cppcns.com'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]['pi'],$t[5]['url']);

echo $tianqi;}}

效果圖如下:

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

最後附**說明。使用者傳送「北京天氣」和「天氣北京」都是可以的,所以首先做了字串處理,得到正確的城市名。利用百度地圖api給的**,發出get請求(其實就是直接訪問),獲取乙個json型別的資料報。將資料報資訊轉成陣列格式,對應的回覆微信使用者即可。國外的天氣沒有當天天氣的具體說明,所以最後做了一點小修改。

本文標題: 微信公眾平台天氣預報功能開發

本文位址:

微信公眾平台開發(21) 天氣預報功能開發

原文 一 簡介 二 思路分析 首先要對使用者傳送過來的訊息進行判斷,判斷訊息裡是否含有 天氣 關鍵字,如果含有,則需要繼續提取地區資訊,然後再通過中國天氣網 提供的開放api進行相關地區天氣查詢。三 關鍵字判斷與地區讀取 使用者傳送過來查詢天氣的訊息的格式是固定好的,即 地區 天氣 所以首先擷取後兩...

微信公眾平台開發(4)天氣預報

北京 output json ak yourak 引數型別 引數名稱 是否必須 具體描述 string location true 輸入城市名或經緯度,城市名稱如 北京或者131,經緯度格式為lng,lat座標如 location 116.305145,39.982368 全國值為all,返回省會城...

天氣預報文本版微信 微信公眾平台開發(4)天氣預報

一 資料介面 介面北京 output json ak yourak 介面引數說明 引數型別引數名稱是否必須具體描述 string location true 輸入城市名或經緯度,城市名稱如 北京或者131,經緯度格式為lng,lat座標如 location 116.305145,39.982368 ...