Carp,是一個微信公衆平臺二次開發的SDK。java
微信公衆平臺給出了公衆號的開發接口和協議;mysql
Carp把微信公佈的接口和協議進行了封裝,同時把公衆號的關注人、分組、圖片、音視頻文件、通信信息等內容保存到了本地,從而可以更加方便的處理用戶信息;使用Carp,可以方便的開發出微信離線客服,智能回覆,針對性分發信息,數據分析,客戶分析等微信應用。web
下面介紹一下Carp的基本使用方法:
sql
一、Carp的下載
數據庫
點擊這裏進入下載頁面。api
Carp_SRC_0.0.1.zip包含了一個的源碼內容和所需類庫tomcat
carp_BIN_0.0.1.zip 包含了變異後的jar包服務器
二、Carp的配置和數據庫創建
微信
下載 carp_BIN_0.0.1.zip後解壓縮,獲得文件如圖:app
創建數據庫
carp目前提供了兩種數據庫支持:firebird和mysql,sql腳本在db文件夾內;
修改配置文件
carp的hibernate的數據庫配置文件爲db.config.xml ,一樣提供了兩種鏈接配置,請修改hibernate.connection.url和hibernate.connection.username、hibernate.connection.password三個屬性;
修改weixin.task.xml,找到如下內容:
<task> <name>token</name> <url><![CDATA[https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=AppId&secret=AppSecret]]></url> <work>com.voa.weixin.work.TokenWork</work> <instance>single</instance> </task> |
修改「AppId」和「AppSecret」爲公衆平臺爲您分配的值(在「功能--高級功能」內能查看到)。
微信收發消息是兩種方式,一種是客服消息,屬於主動發送,一種是回覆用戶的消息,屬於被動發送;
到這裏,就已經能夠進行客服消息的發送和獲取人員列表了。下載Carp_SRC_0.0.1.zip源碼包,在demo中有一個
GetAllFans的測試類,可以獲得公衆號全部的關注用戶,並保存到數據庫中;
另外一種方式是被動發送,須要創建一個屬於本身的web服務器,部署後便可接受到用戶對公衆號發發出的消息,而且根據須要進行回覆。須要下面的配置:
三、配置j2EE服務器
拷貝文件到j2EE服務器
使用tomcat、reson、jetty、jboss、weblogic、webspere等均可以,將carp.jar拷貝到%APPHOME%/WEB-INF/lib下,把db.config.xml,weinxin.handler.xml,weixin.mission.xml,weixin.task.xml四個文件拷貝到%APPHOME%/WEB-INF/下.
修改web.xml文件
爲了接收公衆平臺的信息,在公衆平臺上會配置一個接收所需的url和驗證的token,如圖:
URL,須要使用carp的AuthorFilter映射,AuthorFilter是一個servlet,須要配置到web.xml文件中,相似以下:
<servlet> <servlet-name>weixin</servlet-name> <servlet-class>com.voa.weixin.filter.AuthorFilter</servlet-class> <init-param> <param-name>TOKEN</param-name> <param-value>您在公衆平臺登記的TOKEN</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>weixin</servlet-name> <url-pattern>/weixin</url-pattern> </servlet-mapping> |
啓動J2EE服務後,就可以處理用戶發送的消息了,可使用源碼包的demo中的SendTxtHandler類進行測試,把SendTxtHandler拷貝到您的%APPHOME%/WEB-INF/classes下(不要忘了類的包名的創建~),
在weixin.handler.xml下有一個屏蔽的配置:
<!-- <handlerclz>com.voa.weixin.demo.SendTxtHandler</handlerclz> --> |
打開屏蔽便可,重啓服務後,全部用戶給您的公衆號發送的文本消息,都會收到一個「測試回覆」的回覆,而且保存信息到數據庫。
最後介紹如下demo中例子的做用:
DownloadFile.java ———— 下載文件
GetAllFans.java ———— 得到公衆號全部的用戶
SendCustomerMessage ———— 發送客服消息到指定用戶(注意,須要是48小時活動的用戶)
UpdateFile.java ———— 上傳文件到公衆平臺
SendTxtHandler ———— 回覆用戶的文本消息(須要部署到J2EE服務器)
carp技術羣:368193775
相關文章: