微信公衆賬號開發模式接入

        昨天把一個微信公衆號從“編輯模式”轉入了“開發模式”,搗鼓了一天,算是完成了該公衆號的個人開發計劃的第一步。這裏簡單記錄一下如何在公衆平臺上“成爲開發者”。

       1.填寫接口配置信息。
       當我們申請完一個公衆號以後,在公衆平臺登陸該賬號,選擇“功能-高級功能-開發模式” 。選擇開啓開發模式(一定要打開,否則很可能在代碼調試半天后發現沒有反應,實際上是開發模式沒打開)。
       在開啓開發模式前,系統會要求你先成爲開發者。成爲開發者需要兩個信息:
      
      URL對應的是你的網頁所在響應php文件。比如我使用了公衆平臺上面的wx_sample.php文件來測試響應,而我的文件可以通過www.test.com/testing/wx_sample.php進行訪問,那麼我這裏就直接填寫www.test.com/testing/wx_sample.php。
      對應Token,如上所示爲英文或數字,長3-32的任意串。可以隨便給。比如我的公衆號是做英語學習的話,我可以填yingyu。
      這個時候點擊“提交”可能會發現提交失敗,公衆平臺上提示“反應超時”之類的,這是因爲我們還沒有把wx_sample.php修改好並放到我們指定的URL裏,這樣的話我們點擊提交,系統向該URL發包,卻沒有收到URL指定php文件的響應。自然會失敗了。所以我們需要執行下面的第二步。
   
       2.修改wx_sample.php響應。
       打開wx_sample.php文件,在最開始有一句define語句:
       define("TOKEN", "weixin");
       這個示例中,把TOKEN定爲了“weixin”。聯想起我們在第一步中也遇到過一個Token,其實這2者是對應的,必須相同。我們這裏需要把“weixin”改成在第一步中定下來的Token,這裏用的是“yingyu”。
       將這個修改好的文件放到URL指定的位置,然後可以在公衆平臺上點擊提交了。如無意外會收到成功的提示:
     
       完成上面2步,我們可以說就是已經完成公衆號的“開發模式“接入了。但是到目前爲止,我們的所作所爲其實都”沒有收到成效“——畢竟我們現在的公衆號對我們發出的消息是沒有任何響應的,我們也還沒有體驗過通過調試代碼來對該公衆號進行操控。下面第三步,我們將通過代碼來控制我們的公衆號——讓我們的公衆號對接收到的任意非空字符響應”Welcome to wechatworld!”
    
       3.文字響應消息。
       查看wx_sample.php文件,可以發現裏面其實已經寫有responseMsg函數,正是對任何非空字符響應welcome to wechatworld。我們需要做的是調用它。
      這裏把responseMsg放到valid函數裏面調用。每次用戶發送消息上來,valid函數通過checkSighature函數的判斷,確定消息是否來自微信服務器。如果是,那麼調用responseMsg進行響應。
  

另外要注意的點是responseMsg必須在exit前被調用,否則會退出該php,那麼就調用無效了。到這一步,我們基本算是體驗了一下微信公衆號的開發者接口入門了。後續要實現圖文響應、語音響應等,都是大同小異了。主要就是對xml和部分參數的調整,xml格式和參數等在公衆平臺上都有詳細的解析。第四步會以一個圖文消息響應爲例簡單說說。

    4. 圖文響應消息。
   
    如上所示,首先要注意MsgType在這裏是news,區別於原來的文字響應(text),其次,這個示例的圖文消息是兩條並存,所以ArticleCount是2,代表底下是2個item。如果只需要1個item,那麼這裏切記要改成1,去掉一個item。一個圖文消息最多可以有十個item並存。還有就是對於裏面各個變量的賦值。在原來的文字響應中我們沒有提到是因爲wx_sample.php裏面已經幫我們很好的完成了,不需要操心。這裏只需要根據原來wx_sample.php裏的方法簡單修改一下就好。
    wx_sample.php文字響應的xml對應賦值如下。有一點可能回引起不解地是在sprintf賦值中,fromUsername變量和toUsername變量對應的賦值似乎反了,分別對應了To和From。其實這沒有錯,因爲對於發送過來的消息A,它存在發送方(用戶)和接收方(公衆號)。但是當我們回覆消息時,我們的發送方與接收方應當是相反的,我們的發送方是我們自己,也就是公衆號,而接收方應當是用戶。之後的任何類型的響應消息的修改,也都是這個道理。
   


            

                                      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章