使用Java語言開發微信公眾平台(六)


      在上一節課程中,我們來學習微信公眾平台最基礎的一個接口——access_token並且能夠從微信公眾平台中取到access_token。

那么在本節課程中,我們要以上節課獲取到的access_token為基礎,繼續進行微信公眾平台開發中的圖片消息的回復。讓我們開始本節課程的學習吧!

系列課程回顧,請進入傑瑞教育微信開發專題 進行學習。

 

       圖片消息數據結構

 

       按照國際慣例,在學習一種新的消息回復的時候,我們都需要首先了解這種消息的數據結構以及XML包結構。那么,讓我們進入微信開發幫助文檔看一下:http://mp.weixin.qq.com/wiki/1/6239b44c206cab9145b1d52c67e6c551.html 

 

        我們可以清晰的看到這樣一個數據結構:

 

 

       從上面的結構可以看到,前四個在所有的消息類型中都會看到,而圖片消息相對於其他的消息,多了一個MediaId,表示“通過素材管理接口上傳多媒體文件,得到的id”。那么,最關鍵的問題就來了,怎么通過素材管理接口上傳多媒體文件?

 

        上傳文件至微信平台

 

       ① 基礎接口了解

 

         這里,我們依然需要接口幫助文檔,來看一看怎么上傳素材。點擊微信幫助文檔左側“素材管理”——“新增臨時素材”,連接如下:http://mp.weixin.qq.com/wiki/15/2d353966323806a202cd2deaafe8e557.html ,我們可以看到這樣的一段描述:

       圖中出現的詳細流程我就不再描述,簡述一下流程就是,我們需要通過文件流的形式,從微信提供給我們的接口,上傳文件到微信公眾平台。上傳成功后微信會返回我們需要的media_id。在此過程中,便需要用到我們上節課程獲取到的access_token。

      ② 代碼操作

       了解了上傳文件至微信平台的步驟后,我們開始進行代碼的書寫編輯。進入我們之前一直使用的WeiXinUtil.java工具類文件,新建一個upload方法:

   下面,我們去測試類里面進行調用上傳方法,上傳一張照片。

    然后運行測試類,我們便可以看到控制台已經拿到我們上傳文件的MediaId

    下面,我們就可以復制一下這個MediaId,來組裝一個圖片消息的實體對象。

 

        組裝圖片消息實體對象

 

    根據圖文消息的XML包結構,我們可以很清楚的看到里面有一對<image></image>標簽,並且里面只有一個<MediaId></MediaId>

     所以,首先我們需要創建一個圖片的實體對象,里面只有一個屬性mediaId,並提供對應的Set/Get方法:

       接下來,我們需要創建一個ImageMessage類,繼承自消息父類BaseMessage。

      新增圖片消息轉XML&初始化圖片消息方法

     接下來,我們打開我們MessageUtil包,進行圖片消息轉XML以及初始化圖片消息的方法,其中MediaId傳入我們剛才得到的ID即可:

     最后,回到Servelet中,調用方法,用戶回復數字4,可以收到我們剛剛上傳的圖片消息:

     微信測試平台測試效果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM