標籤: 定義 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