Django Python Wechat

來源:互聯網
上載者:User

標籤:   定義   pps   替代   hat   ticket   git   col   請求   

關於Django開發

使用第三方包WeChat-python-sdk

# from wechat_sdk import WechatBasic# from wechat_sdk.exceptions import ParseError# from wechat_sdk.messages import EventMessage# from wechat_sdk.context.framework.django import DatabaseContextStorewechat_instance = WechatBasic(    token=‘spreadassistant.chltec.com‘,    appid=‘wxacbc8e8621b5140e‘,    appsecret=‘11d1e1723475771e958d1252f6ad045a‘)@csrf_exemptdef portal(request):    if request.method == ‘GET‘:        # 檢驗合法性        # 從 request 中提取基本資料 (signature, timestamp, nonce, xml)        signature = request.GET.get(‘signature‘)        timestamp = request.GET.get(‘timestamp‘)        nonce = request.GET.get(‘nonce‘)        if not wechat_instance.check_signature(signature=signature, timestamp=timestamp, nonce=nonce):            return HttpResponseBadRequest(‘Verify Failed‘)        return HttpResponse(            request.GET.get(‘echostr‘, ‘‘), content_type="text/plain")    # POST    # 解析本次請求的 XML 資料    try:        wechat_instance.parse_data(data=request.body)    except ParseError:        return HttpResponseBadRequest(‘Invalid XML Data‘)    # 擷取解析好的請求資訊    message = wechat_instance.get_message()    if isinstance(message, TextMessage):        print ‘收到 簡訊‘    elif isinstance(message, VoiceMessage):        print ‘收到 語音訊息‘    elif isinstance(message, ImageMessage):        print ‘收到 圖片訊息‘    elif isinstance(message, VideoMessage):        print ‘收到 影像訊息‘    elif isinstance(message, LinkMessage):        print ‘收到 連結訊息‘    elif isinstance(message, LocationMessage):        print ‘收到 地理位置訊息‘    elif isinstance(message, EventMessage):        print ‘收到 事件訊息‘        #關注事件(包括普通關注事件和掃描二維碼造成的關注事件)        #如果 key 和 ticket 均不為空白,則是掃描二維碼造成的關注事件        if message.type == ‘subscribe‘:            print ‘這是 關注事件‘        elif message.type == ‘unsubscribe‘:            print ‘這是 取消追蹤事件‘        elif message.type == ‘scan‘:            print ‘這是 已關注使用者掃描二維碼!‘        elif message.type == ‘location‘:            print ‘這是 上報地理位置‘        elif message.type == ‘click‘:            print ‘這是 自訂菜單點擊‘        elif message.type == ‘view‘:            print ‘這是 自訂菜單跳轉連結‘        elif message.type == ‘templatesendjobfinish‘:            print ‘這是 模板訊息‘    reply_text = ‘已經響應了‘    response = wechat_instance.response_text(content=reply_text)    return HttpResponse(response, content_type="application/xml")

以上代碼思路比較清晰所以做個記錄吧,但是看到https://github.com/doraemonext/wechat-python-sdk表示該項目已經停止開發,推薦使用 https://github.com/jxtech/wechatpy/ 作為替代品。

 

Django Python Wechat

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.