微信第三方平台后端开发

微信第三方平台的开发文档是真的看到令人自闭, wechatpy 的文档也没有详细的解释。记录一下疯狂看文档的两天。

开发语言:Python (使用 wechatpy 来调用微信的各种接口)

outline

  1. 接收微信每十分钟发出的 component_verify_ticket

  2. 使用 wechatpy 来进行后续开发

    • 授权微信公众号

接收微信每十分钟发出的 component_verify_ticket

微信第三方平台审核通过后,微信服务器会每 10 分钟向所填写的 授权事件接收URL 发送一个 POST 请求(请求参数如下),用于作为第三方平台调用接口的凭证。微信文档参考

    signature: 
    timestamp: 
    nonce: 
    encrypt_type: 
    msg_signature: 

所以后端开发要做的事情就是写一个函数去获取微信所发出的 msg。

  • 获取请求参数
    虽然是一个 POST 请求但是传参的方式还是 ? 后附加参数

  • 解密并存储这个 ticket
    这一步就完全是用的 wechatpy 里的 component 的函数 wechatpy 文档参考
    cache_component_verify_ticket 。这个函数需要传入四个参数:

cache_component_verify_ticket(msg, signature, timestamp, nonce):
"""
 msg: request.body
 signature: msg_signature
 timestamp: timestamp
 nonce: nonce
"""
  • 返回 success
    返回一个 HttpResponse ,内容为 success

到这里面向微信的验证部分就算是完成了,因为文档写的比较混乱所以摸索了两天,其实5分钟就能解决的事情,气是真的气。

使用 wechatpy 进行后续开发

授权公众号流程
  1. 获取 pre_auth_code:
 wechat_component.create_preauthcode() # {'pre_auth_code': , 'expires_in': 1800}
  1. 拼接获得授权 url , 微信给出的示例 url 如下:
https://mp.weixin.qq.com/safe/bindcomponent?action=bindcomponent&auth_type=3&no_scan=1&component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx&biz_appid=xxxx#wechat_redirect

具体参数设置详见 微信授权流程,注意这里的回调 uri 需要是处理请求的 uri

  1. 处理用户点击后所发送请求

你可能感兴趣的:(微信第三方平台后端开发)