Python開發入門與實戰20-微信開發配置

隨着移動互聯網時代的來臨,微信已經成爲移動互聯網移動端的主要入口,如今不少的大型企業都有本身的微信服務號,如:銀行業有本身的微銀行,基金公司的公衆服務號。經過微信入口能夠方便快速的實現企業提供的服務。html

image

如:上圖招商銀行的公衆服務號,上面的功能的實現是依據「微信」提供的接口開發規範完成的,因爲「微信」是運行在互聯網上的,本章節開始咱們將結合前面章節發佈的新浪「雲」服務來實現微信公衆號的一些功能實例。web

20.1. 搭建開發環境

微信公衆號的註冊請參網上相關資料,如參考《微信公衆平臺入門到精通django

20.1.1. 用管理員登錄微信公衆平臺

image

開發者中心->服務器配置->修改配置,咱們修改結果以下圖:服務器

image

如今咱們點擊提交按鈕,「微信」會提示token驗證失敗的錯誤提示,根據」微信」SDK要求,咱們首先要實現一個提供給」微信」服務器的握手請求服務,以便」微信」服務器來校驗咱們的服務器是否響應。微信

image

20.1.2. 根據配置咱們須要實現wechat的url

這裏咱們在工程中新建一個叫wechat的APP來專門處理與」微信」請求的交互服務,一如前面說的面向對象裏的功能內聚的原則。微信開發

image

接下來咱們先在wechat的views.py裏增長代碼以下:app

from django.http import HttpResponse
from django.template import
RequestContext
from django.views.decorators.csrf import
csrf_exempt
import
time
import
hashlib TOKEN = "mysaesite" #必須與微信Token一致

@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了,訪問結果以下圖:函數

image

如今,咱們點擊剛纔開發中心修改配置界面的提交按鈕,微信驗證服務經過,以下圖。url

image

20.1.3. 代碼註釋

checkSignature函數功能就是確認GET請求是否來自「微信」服務器,若是請求來至微信服務器,原樣返回echoStr數據則接入生效,不然接入失敗

20.2. 小結

如今咱們完成了咱們的開發的web服務在微信開發中心的配置,下一章節咱們將經過簡單例子來講明如何進行微信公衆服務號的開發。

相關文章
相關標籤/搜索