隨着移動互聯網時代的來臨,微信已經成爲移動互聯網移動端的主要入口,如今不少的大型企業都有本身的微信服務號,如:銀行業有本身的微銀行,基金公司的公衆服務號。經過微信入口能夠方便快速的實現企業提供的服務。html
如:上圖招商銀行的公衆服務號,上面的功能的實現是依據「微信」提供的接口開發規範完成的,因爲「微信」是運行在互聯網上的,本章節開始咱們將結合前面章節發佈的新浪「雲」服務來實現微信公衆號的一些功能實例。web
微信公衆號的註冊請參網上相關資料,如參考《微信公衆平臺入門到精通》django
開發者中心->服務器配置->修改配置,咱們修改結果以下圖:服務器
如今咱們點擊提交按鈕,「微信」會提示token驗證失敗的錯誤提示,根據」微信」SDK要求,咱們首先要實現一個提供給」微信」服務器的握手請求服務,以便」微信」服務器來校驗咱們的服務器是否響應。微信
這裏咱們在工程中新建一個叫wechat的APP來專門處理與」微信」請求的交互服務,一如前面說的面向對象裏的功能內聚的原則。微信開發
接下來咱們先在wechat的views.py裏增長代碼以下:app
@csrf_exempt defwechat(request): if request.method == 'GET': response = HttpResponse(checkSignature(request),content_type="text/plain") return response else: return None def checkSignature(request): global TOKEN signature = request.GET.get("signature", None) timestamp = request.GET.get("timestamp", None) nonce = request.GET.get("nonce", None) echoStr = request.GET.get("echostr",None) token = TOKEN tmpList = [token,timestamp,nonce] tmpList.sort() tmpstr = "%s%s%s" % tuple(tmpList) tmpstr = hashlib.sha1(tmpstr).hexdigest() if tmpstr == signature: return echoStr else: return None
而後,咱們修改mysite的urls.py增長wechat url服務。微信公衆平臺
""" Definition of urls for mysite. """ from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() from inventory import views import wechat.views urlpatterns = patterns('', # Examples: # url(r'^$', 'mysite.views.home', name='home'), # url(r'^mysite/', include('mysite.mysite.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), url(r'^AddInStockBill/$', views.AddInStockBill), url(r'^AddItem/$', views.AddItem), url(r'^success/$', views.success), url(r'^search/$',views.search), url(r'^inventoryQuery/$',views.inventoryQuery), url(r'^getInventoryByItemName/$',views.getInventoryByItemName), url(r'^inventoryQueryExtjs/$',views.inventoryQueryExtjs), url(r'^inventoryQueryBootstrap/$',views.inventoryQueryBootstrap), url(r'^wechat/$',wechat.views.wechat), )
接下來,咱們把urls.py文件和wechat app 目錄和文件更新到新浪雲上,咱們就能夠訪問wechat了,訪問結果以下圖:函數
如今,咱們點擊剛纔開發中心修改配置界面的提交按鈕,微信驗證服務經過,以下圖。url
checkSignature函數功能就是確認GET請求是否來自「微信」服務器,若是請求來至微信服務器,原樣返回echoStr數據則接入生效,不然接入失敗
如今咱們完成了咱們的開發的web服務在微信開發中心的配置,下一章節咱們將經過簡單例子來講明如何進行微信公衆服務號的開發。