- 测试号的申请
- 服务器 , 域名 , 接入配置
一,测试号的申请
坑点: 申请测试号网站登录后页面刷新可能没有配置信息, 这时你需要登录 微信开发社区 即可解决问题 微信开发社区
主要的几个配置信息:
- 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 字段, 完成配置
微信提供的测试号可以帮助我们快速了解和完成 高级接口 功能的开发 , 摆脱了个人非认证号的许多限制