首页 > 代码库 > 微信公众号第三方平台开发坑
微信公众号第三方平台开发坑
坑一:文档数据结构错误,导致授权方公众号二维码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. 本文权当娱乐,大家看着耍,做微信开发的,希望可以帮到你
微信公众号第三方平台开发坑