微信公眾號第三方平台開發坑


 

坑一:文檔數據結構錯誤,導致授權方公眾號二維碼URL無法獲取

在公眾號授權流程文檔頁面中(點擊查看),有這樣一個數據結構:

 

我把這個代碼復制出來,放在chrome里面,清楚的看到如下的數據結構:

 

錯就錯在這個qrcode_url,在微信官方提供的文檔中,qrcode_url是出現在object的第一級屬性中的,但是,TMD的微信真正返回的數據結構中,qrcode_url是在authprizer_info里面的。WHAT THE FUCK! 害得老子把自己的代碼檢查、調試了兩個小時,之崩潰,就沒有懷疑過文檔錯誤。

 

下面這個圖就是微信服務器真正返回的數據結構:

 

 

坑二:同一個接口返回的數據字段一個叫AppId,而另一個叫Appid

來,先給大家看一下微信返回的xml:

 

1 <xml>
2   <AppId><![CDATA[wx79*********a42]]></AppId>
3   <CreateTime>1477042022</CreateTime>
4   <InfoType><![CDATA[unauthorized]]></InfoType>
5   <AuthorizerAppid><![CDATA[wxea********908]]></AuthorizerAppid>
6 </xml>

 

看到了吧,第一個字段叫AppId,最后一個字段叫AuthorizerAppid!

 

雖然說這次文檔沒有寫錯,要怪只能怪自己沒有仔細看文檔,但是,我想說的是,通過這個簡單的命名,可以看得出微信這個開發人員素質很一般。

 

下面我就來跟大家科普一下AppId跟Appid的區別!

 

AppId代表了兩個單詞的拼接,而Appid,有這個單詞嗎?

 

再舉個例子,你知道為什么我們登錄表單的用戶名一般命名為“username”,而非“userName”嗎?這是因為username本身就是一個單詞!

 

還看到有的程序員將callback的變量命名為callBack,也是醉了。。。

 

說白了,如果是多個單詞的拼接,每個單詞首字母大寫;如果是一個單詞,不要將單詞中的某個字母大寫。

 

Appid,明明沒有這個單詞,明明是App和Id兩個單詞,為什么寫着寫着就變成Appid,關鍵是統一接口返回的數據,一個叫AppId,一個叫Appid,好坑啊。。。

 

P.S. 本文權當娛樂,大家看着耍,做微信開發的,希望可以幫到你

 


免責聲明!

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



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