從微信公眾平臺開通自定義回復后,就一直在關注微信接口這一塊,很想用自定義回復這塊做個站長工具的查詢,例如PR查詢,備案查詢等,輸入網址信息,就能自動獲取PR,獲取備案信息,應該是一個不錯的想法。不過以前一直不支持自定義API,只能是一些固定的信息回復。最近微信公眾平臺終于開放第三方接口了,也就是說,可以根據用戶提交的信息,來自定義回復內容,非常方便。 微信站官方微信第一時間開通了自定義回復,大家可以添加微信站微信賬號 easymarket 來看看自定義接口的方便性,輸入新聞,就能自動查看最新微信相關資訊。 看到了微信的自定義第三方接口的強大后,下面我們來講講怎么實現自定義回復。 首先我們進入第三方接口的頁面進行注冊,地址:http://mp.weixin.qq.com/cgi-bin/ ... ype=info&lang=zh_CN URL為你以后的微信自定義回復生成的地址。Token你可以隨便輸,主要是用來校驗當前的信息是否為微信提交過來的信息。 如果你的微信接口頁面沒有做好,提交保存的時候,會提示:驗證Token失敗。這個錯誤是因為,你的接口頁面還沒有反饋正確的信息給微信接口。微信在教程方面還做得不夠成熟,就一個PHP示例,還是有問題的,在下篇文章我會講到這個錯誤在哪。微信官方也沒有跟大家說清楚怎么才能是token驗證成功。下面我將給出示例告訴大家如何通過token驗證。 譬如:微信站的微信接口頁面是http://www.weixinmi.net/weixin.php,我們只需要把default.asp的代碼改為: define("TOKEN", "weixin");// weixin 改成你在程序后臺設置的相對應 然后再在官方提交下保存,提示“驗證token成功”。到此為止,第一步我們完成了接口的申請。 上面給大家講了如何申請微信公眾平臺自定義接口,這篇文章講通過實例,為大家講述如何實現Hello World的一個簡單的自定義回復。 微信官方提供的PHP代碼示例,$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);通過該代碼可以獲知微信平臺提交過來的信息是一個XML對象。 該代碼可以獲取到提交過來的用戶,其他的接收者,微信內容都可以該方法獲取到。 微信站公眾帳號核心代碼如下: if(!empty( $keyword ))//當文字輸入不為空 { if(($keyword != "新聞") && ($keyword != "news")) { $contentStr = "<a href=\"http://www.weixinmi.net\">微信論壇</a>"; $msgType = "text";//表示文本 $text=$textTp.$contentList.$textc; } 當大家輸入新聞或者news我們給粉絲發送的是圖文訊息 else { $contentStr = ""; $msgType = "news";//表示圖文 關鍵 $text=$textTp.$newsList.$textc; } $resultStr = sprintf($text, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; ///此處對代碼進行重組 }else{ echo "Input something..."; } }else { echo ""; exit; } } 最后我們重新組合,并生成對應的XML字符串,反饋給微信公眾平臺,用戶就能接受到自定義回復內容了。相關代碼如下: 另外請大家注意,PHP文件需要以UTF-8的格式保存,包括頁面編碼也要用UTF-8的格式,否則有可能自定義回復出現亂碼。 至此,我們就完成了PHP微信公眾平臺自定義接口的一個簡單的自定義回復。 源碼DEMO地址:http://pan.baidu.com/s/128Wxp |