美文网首页java
微信开放平台第三方平台开发教程

微信开放平台第三方平台开发教程

作者: 金色暗影 | 来源:发表于2017-08-26 18:16 被阅读0次

1. 注册,开发者身份认证

这一步需要填写一些个人或者公司的身份信息,需要300块钱的认证费。

这一步比较简单,就不多说了,基本上交了钱就能通过了。

2. 创建第三方开放平台

2.1 第三方平台运行机制:

img

用户公众号绑定的微信扫码授权给第三方平台,第三方平台获得对方公众号的部分控制权,比如当授权消息管理权限时,用户公众号收到的消息会自动转发给第三方平台,第三方平台再代替用户公众号回复。

2.2 创建流程

  1. 填写基本,这个根据实际情况填写。

  2. 设置权限集,这个根据需要获取的公众号权限设置。

  3. 填写开发资料,这个信息十分关键,后面的开发基本围绕于此。

    登录授权的发起页域名:填写平台域名,不要写https://之类的协议头。

    授权测试公众号列表:填写自己用于开发测试使用的公众号AppID

    授权事件接收URL:用户公众号在授权接入、取消授权、更新授权的时候,微信会向平台服务器的这个URL发送请求,需要平台做相关处理。

    下面这些信息和公众号开发基本一致,在获取了用户授权之后,可以将授权公众号当作自己的公众号开发:

    公众号消息校验Token,公众号消息加解密Key,公众号消息与事件接收URL,公众号开发域名

  4. 填写白名单IP地址列表,填写自己服务器的ip就好。

2.3 开发流程

1.先生成供用户点击后调到授权二维码的链接

链接的形式如下:

https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=平台appid&pre_auth_code=微信提供的pre_auth_code&redirect_uri=授权回调uri

打开之后会出现类似这样的二维码,绑定了公众号的微信扫描之后可以授权接入我们的第三方平台。

img

观察上面的链接我们会发现,component_appid是创建之后就有的,直接复制一下贴上去就可以。

而pre_auth_code需要平台自己获取,redirect_uri自己填写(注意要加协议头)。

微信服务器每10分钟会向授权事件接收URL发送POST请求,请求链接中包含一下参数msg_signature,

timestamp,nonce,请求的body是一个加密之后的xml,根据上面填写的公众号相关信息可以解密。

根据这些可以从xml中拿到ComponentVerifyTicket ,再用ComponentVerifyTicket作为参数,向https://api.weixin.qq.com/cgi-bin/component/api_component_token发起请求,就可以拿到component_access_token,再用component_access_token作为参数向https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode发送请求,拿到最终的pre_auth_code,到此,授权链接构造完成,接下来要处理授权事件。

2.获取用户公众号授权

用户在扫码授权后,微信服务器会向redirect_uri发送get请求,我们需要处理这个请求,从中获取auth_code的值,再用使用auth_code这个授权码换取公众号的授权信息authorization_info,我们可以存储这些信息供后面使用,比如说知道是谁接入了授权等等,根据需要来,不存也问题不大。

3.代公众号操作(这里以代接受和回复消息为例)

起始到这里,就是类似于微信公众号开发了。

用户在接入授权的公众号中回复消息以及授权、取消授权时,微信服务器会自动将操作信息发送给我们的第三方平台(之前留了公众号消息与事件接收URL,这个里面可以获取到appid,主要是为了方便管理,在接收回复操作中没什么作用),然后我们就是接收和回复消息。为了安全,微信要求消息必须要经过加密,不然是无法发送的。

4.全网发布验证

全网发布时,需要微信那边模拟通过。于是要在上面的基础上增加一个授权事件回复。

当消息类型是type=event并且是微信提供的用户名时,向这个模拟用户回复event + "from_callback",和普通的文本消息一样,只要将回复xml的content设置为event + "from_callback"即可。其中event也在接收到的xml体中,名词是Event

到这里,整个开放平台就大功告成了,全网发布需要三天的审核时间,请耐心等待。

吐槽:微信的文档写的十分跳跃,作为一个很少写web应用的算法工程师,阅读起来压力很大,网上看到部分博客也都写的不怎么全面,于是我将整个开发过程完整的写下来以便后人借鉴,少踩些坑,另外,如果是用python开发的话,上面涉及微信操作的一些方法推荐使用wechatpy这个库,非常方便。

相关文章

  • iOS微信&QQ第三方登录

    微信第三方登录 一、注册微信开放平台开发账号 1. 微信开放平台网站:微信开放平台 2. 注册开发者账号,按步骤填...

  • 微信开发者

    官网 微信开放平台微信公众平台微信云 微信开发者大本营吧微信开发吧 学习 方倍工作室 微信公众平台开发入门教程_新...

  • 10/11 课堂笔记

    常用社交软件微信 微博 QQSDK微博开放平台微信开放平台微信第三方平台管理QQ开放平台用户体验好 界面美观 功能...

  • 微信服务号开发整体流程

    1、微信的各个平台 微信开放平台,面向开发人员,为网站、App 提供微信第三方登录功能,为 App 提供支付功能(...

  • ionic3微信,QQ分享

    准备工作 微信开放平台开发者账号 腾讯开放平台开发者账号 1.微信开发平台注册登录创建应用获取wechatappi...

  • 干货丨微信开放、公众、商户平台简介

    01 微信开放平台 (1)概念 微信开放平台是一个为第三方移动程序提供接口的平台。 (2)作用 用户可将第三方程序...

  • 微信开放平台第三方平台开发教程

    1. 注册,开发者身份认证 这一步需要填写一些个人或者公司的身份信息,需要300块钱的认证费。 这一步比较简单,就...

  • 11个能赚钱的开放平台

    1.微信开放平台 网址:https://open.weixin.qq.com/ 第三方平台开发接入,为公众号提供行...

  • 1.5研习 | 微信第三方平台

    简单一点说,微信是一个开放的平台。 微信的官方,会开放一些接口,所以微信第三方平台就诞生了。 第三方平台很多,功能...

  • 【小程序入门集锦】17,如何作为第三方平台开发微信小程序

    昨天微信开放了小程序第三方平台的授权,那么如何作为第三方平台开发小应用呢? 一、总体流程 第三方平台帮助旗下已授权...

网友评论

    本文标题:微信开放平台第三方平台开发教程

    本文链接:https://www.haomeiwen.com/subject/wskvdxtx.html