使用微信公眾平臺的朋友都遇到過,給微信公眾號傳送訊息後,半天沒反應,微信提示“該公眾號暫時無法提供服務,請稍候再試”的問題。本文主要介紹產生這個提示的原因及簡單的處理方法。
工具/原料
微信公眾號
開發者模式
方法/步驟
首先確定您的微信公眾號使用的是開發者模式,介面設定正確,並能正常收發普通訊息。
下面說一下提示"該公眾號暫時無法提供服務,請稍候再試"這條資訊的原因
大家先了解一下微信的工作流程,如圖(開發者模式),當用戶發了資訊,首先到騰訊的微信平臺,然後通過您的介面轉發到您的伺服器,您的伺服器處理資訊後,再返回給微信平臺,平臺再轉發給使用者
如果網路和伺服器都正常的情況下,您的伺服器接收到訊息也正確處理了,那麼使用者就回收到相關資訊,但如果您的伺服器在處理資訊過程中,因為網路原因或伺服器故障、或者程式問題沒有返回資訊,那麼騰訊微信平臺就會返回給使用者“該公眾號暫時無法提供服務,請稍候再試”的提示。
如果那麼排除網路和裝置問題,使用者還是收到這個錯誤提示,就可以肯定是使用者發來的資訊您的介面程式處理訊息失敗了,微信伺服器在五秒內收不到響應會斷掉連線,並且重新發起請求,總共重試三次,就是說5秒內不回覆就重試,重試三次沒回復,就給使用者返回錯誤資訊了。
那這個問題怎麼解決呢,其實官方給出說明了:假如伺服器無法保證在五秒內處理並回復,可以直接回復空串,微信伺服器不會對此作任何處理,並且不會發起重試。意思很明白了,如果您的程式不能在5秒內處理完畢並返回給平臺,就是直接給平臺發個空串就行了,平臺判斷有回覆就不會給使用者傳送錯誤提示了。
但有的朋友不清楚這個空串是什麼意思,官方也有說明:指位元組長度為0的空字串,而不是XML結構體中content欄位的內容為空。
我在這裡用PHP程式碼描述下,如圖,該回復的地方加上echo '';就可以了
但這只是標記平臺收到了,不給使用者提示錯誤資訊了,使用者端是什麼也沒回復的,如果您還想傳送給使用者,就需要使用客服訊息介面進行非同步回覆了
注意事項
處理程式程式碼正確