您好,登錄后才能下訂單哦!
這篇文章主要介紹了flask實現公眾號開發的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Flask開發微信公眾號
既然要寫微信公眾號后臺,首先肯定是要先有一個微信公眾號,這個申請很簡單,在此就不多說了,不會的可以去百度。
一、接入微信公眾號
主要步驟是根據微信公眾平臺開發文檔來的
開發文檔提供的接入步驟為:
填寫服務器配置
驗證服務器地址的有效性
依據接口文檔實現業務邏輯
1、填寫服務器配置
登錄微信公眾平臺官網后,在公眾平臺官網的開發-基本設置頁面,勾選協議成為開發者,點擊“修改配置”按鈕,填寫服務器地址(URL)、Token和EncodingAESKey,其中URL是開發者用來接收微信消息和事件的接口URL。Token可由開發者可以任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。EncodingAESKey由開發者手動填寫或隨機生成,將用作消息體加解密密鑰。其中的URL是你的服務器地址,在這兒我是用我的網站,Token自己隨便填寫,后面會用到,EncodingAESKey可以自己寫也可以隨機生成,一般隨機生成就行了。先不點提交,因為我們還沒有寫驗證程序,后面寫完后再點擊。
2、驗證服務器地址的有效性
這是文檔的說明,我們主要就按照寫個步驟來編寫驗證代碼
首先用Flask寫出基本框架,因為比較簡單,這兒就用單文件
from flask import Flask from flask import request app = Flask(__name__) @app.route("/") def index(): pass if __name__ == "__main__": app.run()
這是一個最基本的Flask程序,根據文檔說明,開發者提交請求后會發送一個GET請求到URL,GET請求攜帶了四個參數,我們首先獲得這四個參數:
from flask import Flask from flask import request import hashlib app = Flask(__name__) @app.route("/weixin/",methods=["GET","POST"]) def index(): if request.method == "GET": # 判斷請求方式是GET請求 my_signature = request.args.get('signature') # 獲取攜帶的signature參數 my_timestamp = request.args.get('timestamp') # 獲取攜帶的timestamp參數 my_nonce = request.args.get('nonce') # 獲取攜帶的nonce參數 my_echostr = request.args.get('echostr') # 獲取攜帶的echostr參數 token = 'hahaha' # 一定要跟剛剛填寫的token一致 # 進行字典排序 data = [token,my_timestamp ,my_nonce ] data.sort() # 拼接成字符串 temp = ''.join(data) # 進行sha1加密 mysignature = hashlib.sha1(temp).hexdigest() # 加密后的字符串可與signature對比,標識該請求來源于微信 if my_signature == mysignature: return my_echostr if __name__ == "__main__": app.run()
根據開發文檔,所有的驗證代碼就寫完啦,現在可以去微信公眾號后臺點擊提交,如果沒問題的話就會顯示成功。也可能會提示“請求url超時”或“token驗證失敗”,前者再次提交就行,后者可能是你的程序有問題,如果程序沒問題,可以試著換一下token。
感謝你能夠認真閱讀完這篇文章,希望小編分享flask實現公眾號開發的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。