- 測試號的申請
- 服務器 , 域名 , 接入配置
一,測試號的申請
坑點: 申請測試號網站登錄後頁面刷新可能沒有配置信息, 這時你需要登錄 微信開發社區 即可解決問題 微信開發社區
主要的幾個配置信息:
- appId
- appsecret
- url :服務器回調地址
- token :用於驗證服務器
二,服務器配置(接入配置)
1,選購服務器,域名:
推薦阿里雲vps ubuntu (最低配置即可)
可以註冊 比較便宜的域名 如 .top .site .six … 首年一般只需要幾塊錢
關於https 也可以申請阿里雲的免費ca證書, 但其實http就行了
1,正確填寫服務器配置信息
具體配置文檔 : 接入指南
- 正確填寫url如: http://www.myserver.com/api/wx_callback
- token配置: token的值自定義填寫 比如: weixin
點擊提交後 微信會驗證服務器, 發送get請求 到url 上
這時候我們服務器如果要通過驗證 , 只需要 原樣返回echostr參數內容,則接入生效,成爲開發者成功,否則接入失敗。
這裏我們使用python 搭建web環境完成驗證:
創建main.py
import web
from handle import Handle
urls = (
'/api/wx_callback', 'Handle', # 對應 url 回調地址
)
if __name__ == '__main__':
app = web.application(urls, globals())
app.run()
創建handle.py (處理請求後邏輯)
import hashlib
import web
class Handle(object):
def GET(self):
try:
data = web.input()
print(data)
if len(data) == 0:
return "didi"
signature = data.signature
timestamp = data.timestamp
nonce = data.nonce
echostr = data.echostr
token = "weixin" #請按照公衆平臺官網\基本配置中信息填寫
tmpar = [token, timestamp, nonce]
tmpar.sort()
tmpstr = ''.join(tmpar)
tmpstr = hashlib.sha1(tmpstr.encode('utf-8')).hexdigest()
print(tmpstr, signature)
if tmpstr == signature:
return echostr
else:
return ""
except Exception as msg:
print(msg)
return msg
啓動腳本: python3 main.py 8888
8888指向端口號, 當然可以直接設爲80端口, 由於我這裏演示的服務器 上面有幾個web項目 , 所以設爲 8888 然後使用nginx轉發到內網的8888即可
阿里雲服務器開發需要主要的一點: ecs 服務器 的安全組 默認 可能沒有開放 80 端口 , 如果你想要開放哪個端口 請直接在控制檯安全組的規則 入方向添加即可
然後點擊 提交配置:
服務器相應成功 , 密鑰匹配正確 , 返回wx服務器 echostr 字段, 完成配置
微信提供的測試號可以幫助我們快速瞭解和完成 高級接口 功能的開發 , 擺脫了個人非認證號的許多限制