這篇文章給大家分享的是有關(guān)微信公眾賬號開發(fā)之URL和Tocken的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián):公司2013年成立為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為近1000家公司企業(yè)提供了專業(yè)的網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 按需定制制作由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。一、URL 和 Tocken 簡介
1、想成為開發(fā)者必須要有一個公網(wǎng)的網(wǎng)絡(luò)地址(URL),這個網(wǎng)絡(luò)地址要求微信公眾平臺可以訪問到,網(wǎng)絡(luò)地址的獲取有多種方式:可以借助其他平臺,也可以自己租借服務(wù)器(建議自己租一個服務(wù)器,因為我們需要部署應(yīng)用);總之,你要提供出一個公網(wǎng)上的URL;
2、Tocken(標(biāo)記):Tocken可以隨便填寫一個字符串,在認證的時候使用;
3、認證過程:需要開發(fā)者進行編程,所以要在開發(fā)者服務(wù)器上部署一個應(yīng)用(提供URL);當(dāng)公網(wǎng)上的URL被微信訪問時,微信會發(fā)送過來一些數(shù)據(jù),你的應(yīng)用要把微信發(fā)送過來的數(shù)據(jù)進行加密,然后用密文和signature比較,如果相同,返回echostr給微信公眾平臺,微信公眾平臺進行校驗,如果正確,那么恭喜你,你的公眾賬號成為成為開發(fā)者賬號;
二、驗證流程圖
您已經(jīng)向微信公眾平臺提供了 URL(開發(fā)者服務(wù)器網(wǎng)址址) 和 Tocken,下圖是微信公眾平臺認證流程;
從上圖可以看出,主要驗證功能是在開發(fā)者服務(wù)器這端,其中在開發(fā)者服務(wù)器這端進行tocken,timestamp,nonce加密認證(sha1加密)的時候,tocken是開發(fā)者提供給微信公眾平臺的;如果加密的結(jié)果和 微信公眾平臺提供的signature一樣,那么我們就返回echostr給微信公眾平臺;微信公眾平臺進行echostr認證,如果通過,公眾賬號就成為了開發(fā)者
三、代碼說明
本人開發(fā)用的是python語言,如果你使用的是其他語言,邏輯結(jié)構(gòu)類似,只是實現(xiàn)不同;
@csrf_exempt def wx_valid(request):#提供給微信公眾平臺的url,微信公眾平臺請求url時,會執(zhí)行此方法 '''微信開發(fā)者驗證,是GET請求;GET 和 POST 區(qū)分是認證還是發(fā)送消息(發(fā)送消息的時候是POST)''' if(request.method == 'GET'): tocken='zainanjing6tocken'#提供給微信公眾平臺的tocken,可以保持在數(shù)據(jù)庫、文件或者直接硬編碼到代碼中; if tocken: timestamp = request.GET['timestamp'] nonce = request.GET['nonce'] signature = request.GET['signature'] echostr = request.GET['echostr'] arr = [tocken,timestamp,nonce] arr.sort() data = '' for s in arr : data += s sha1 = hashlib.sha1() #或hashlib.md5() sha1.update(data) _signature = sha1.hexdigest() #生成40位(sha1)或32位(md5)的十六進制字符串 if _signature == signature : return HttpResponse(echostr)#返回 echostr return HttpResponse('error')#返回 error
以上就是開發(fā)者驗證URL和Tocken邏輯流程和源碼了,下面我們就說一下整體的操作流程;
四、操作過程
1、首先在開發(fā)者服務(wù)器上部署應(yīng)用,提供出URL 和 Tocken,(此URL要求微信公眾平臺能夠訪問到)
2、把URL 和 Tocken 添加到微信公眾平臺開發(fā)者模式中后,微信公眾平臺就會自動請求URL,開發(fā)者服務(wù)器進行數(shù)據(jù)驗證(signature驗證),如果驗證通過,返回echostr給微信公眾平臺
3、如果成功成為了開發(fā)者賬號,并且公眾賬號的模式調(diào)整為 開發(fā)者模式 ,那么用戶給公眾賬號發(fā)送的消息,就不是由微信公眾平臺進行回復(fù)了,微信公眾平臺會將消息轉(zhuǎn)發(fā)給開發(fā)者服務(wù)器,開發(fā)者服務(wù)器進行消息回復(fù)
至此,URL 和 Tocken的認證就算結(jié)束了,如果認證通過了,那么恭喜,你的賬號已經(jīng)是開發(fā)者賬號,下一步必須要做的是開發(fā)回復(fù)用戶消息的功能,不然用戶接收不到任何消息;
感謝各位的閱讀!關(guān)于“微信公眾賬號開發(fā)之URL和Tocken的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!