微信开放平台之第三方授权开发

由于最近业务需求客户让我们帮忙开发微信公号。于是登录了客户的公号 发现在他的公号设置里面已经写满了页面授权这些东西,因为这个公号的听说是找了很多开发公司帮他们开发,反正就是东一个西一个而且哪个都不能删。开发过的都知道页面授权域名这个东西最多只能填写两个(老版本的时候只能写一个。老马的手下已经大发慈悲的升级了一下能写两个了)但这个东西非常重要,多的也不解释了。dddd        

微信开放平台之第三方授权开发_第1张图片

这个需求到我手上的时候我也头疼半天。也找了很资料和解决方案。有的让我找他们开发过的公司让他们配合我做一个类似跳转的东西,让他们代我们授权然后回调到我的服务器上。我想想这个东西只能解一时之需,总不能每次出现个功能 我就找那些人。我不烦别人还嫌烦。于是我又找了一些资料。就看到了微信的开放平台里的第三方平台。

微信第三方平台 他的定义在我个人理解就是 我成为服务商帮我的客户服务,不需要进入客户的公号里进行设置,然后我可以代他开发,一些回调地址,授权页面域名都在我第三方平台里设置,把主要的东西掌握在自己的手上,直接脱离那个烦人的公号设置,就是上面那张图。现在世面上也有很多这些东西

微信开放平台之第三方授权开发_第2张图片

 

类似于上面这种让公号授权给第三方一些权限,然后第三方带代为开发,当然也能正常的获取微信的各种权限(前提是对方已经授权给你了)

那就进入正题。

第一步:

首先我们当然就是先去注册一个微信开放平台的账号。

微信开放平台

注册这些东西 你就按它的提示来吧。准好300大洋。认证费~~

微信开放平台之第三方授权开发_第3张图片

 弄好提交了认证 一般一周内就会有认证公司给你电话的。如果你能说会道口才好的话,电话那头可能会成为你的另一半。程序员的交际圈也就这样了。

微信开放平台之第三方授权开发_第4张图片

 当你有一个账后 在管理中心->第三方平台->创建第三方平台进行按照他的提示就可以创建一个项目 

创建完后,记得回到  管理中心->第三方平台  你创建的项目 操作详情里面进行操作

微信开放平台之第三方授权开发_第5张图片

 前期就大概就这一提交审核。  大概第二天就能知道是不是审核通过了 。审核不通过 会有提示为啥审核不通过,大部分原因是因为平台官方网址打不开。

第二步:

也是在项目详情里面 , 开发信息  这边是先让你选择 你需要的公众号或者小程序的的权限,点编辑按照你需要权限 初步设定一下。如果后期需要其他权限也是可以进行更改的。

微信开放平台之第三方授权开发_第6张图片

微信开放平台之第三方授权开发_第7张图片 step 1:

我这边就是设置了两个。微信开放平台之第三方授权开发_第8张图片

 

 step 2:

我一个个讲吧,微信提示有会把我们弄懵

微信开放平台之第三方授权开发_第9张图片

 这个东西他会每隔10分钟 会发一个请求到你服务器上,所以这里填写你能接受到微信请求的地址。可以先用内网穿透测试ngrok 花生壳 这些(我是自己搭建了一个ngrok,有兴趣的可以去翻一下我的ngrok搭建的文章),填好之后微信就会发送请求过来。(在审核中它也会发的)下面是微信请求的示例图

微信开放平台之第三方授权开发_第10张图片

请求过来的都是XML 加上一些参数。

appid :是你第三方的项目的appid

Enctypt 是需要ase进行解密  解密出来有个component_verify_ticket  有效期是12个小时。自己做好维护。提前半小时进行更新。
概述 | 微信开放文档  加密解密的demo 在这个链接里可以去下载看一下。 我是用php的 微信的demo里的解密是比较老的。php7以上就开始不支持了。这可以去李彦宏那边搜一下 能搜到的  。

微信开放平台之第三方授权开发_第11张图片

 一些公号的事件 和 ticket 差不多也需要解密。这里面可以玩出一些花样 可以自行研究一下

微信开放平台之第三方授权开发_第12张图片

 消息校验TOKEN  消息加解密KEY  这些自行按规则填写

授权事件接收配置 、 消息与事件接收配置、授权发起页域名 、公众号开发域名 这几项要域名一致

这着重讲一下  公众号开发域名  这个东西。完全就是坑爹。他上面写着选填,但是你不填这个地址微信狗日的到最后用户进行访问的时候 就会出现redirect_uri 错误。这里的 公众号开发域名 就跟公号里的 网页授权域名  是同一个道理 你不填就不行,连访问都不访问不了,这里给你个选填。

也可能是我粗心看见选填就不填了。回头搞半天。

参数配置方面应该就讲完了

现在讲一下各种令牌 token 预授权码的获取

第一步:

这里就是那个ticket 如果看到了这里应该这步都是完成的。就是微信会主动推送加密的ticket 到你的 授权事件接收配置 的地址上 你要去解密

第二步:

获取令牌:和上面获取ticket差不多 令牌 | 微信开放文档 这里的这个文档是没坑的。照这里做。accounToken 有效期是2个小时 ,提前半个小时进行更新,自己做好维护

第三步:

获取预授权码:和上面两步差不多 预授权码 | 微信开放文档 这里注意一下,打箭头的这里也要一起改 改成获取的令牌就好了。就是post 和get 都要放令牌。自行维护。或者不需要维护,需要的时候就去请求拿一下。。微信开放平台之第三方授权开发_第13张图片

 第四步 :

生成链接 链接会自动变换成二维码,拿这个二维码 去给公号的管理员进行扫码授权

授权流程技术说明 | 微信开放文档  可以参照这个文档写。

这里注意的是  一定要在 授权发起页域名 填写的地址里进行编写代码 而且一定要在页面里

 写个a标签跳转过去。不能直接生成好复制过去打开  微信是不会认这样的操作 会报错的

例子:

微信开放平台之第三方授权开发_第14张图片

 手动点击跳转过去 会变成一个二维码。然后让需要授权的公号管理员进行扫码授权

讲到这里 总结一下:

首先需要 接收微信推送过来的Ticket 在 授权事件接收配置 这里的填写的地址  进行解密 然后自行维护,有效期12个小时

第二 获取令牌 主动去请求获取 自行维护  有效期 2个小时

第三 获取预授权码  然后生成链接 在页面中点开。

 代公号发起授权 

简介 | 微信开放文档  这里就和平常的 开发公号的东西差不多了。就是有些需要按照第三方平台的规则来,大致相同。

微信开放平台之第三方授权开发_第15张图片

 我的业务需求权限只有一些 获取账号这些。其他权限 各位可以在仔细对照一下文档。  这个东西我也研究了1天才弄出来。我是比较笨的人。相信各位都是聪明绝顶的比我厉害。这些是我的拙见,有什么写的不好的请包涵。

你可能感兴趣的:(微信开放平台,php)