最近有朋友让我帮忙做个获取微信公众号的授权并获得该公众号信息的功能。
想着这是一个好机会,学习开发微信第三方平台。
-
首先我必须得告诉各位,在申请完微信开放平台时,会让你填写:- 授权事件接收URL -,
这个授权事件接收url填写完后,微信后台会每隔十分钟发过来一条component_verify_ticket的加密信息。
如果要获取这个compoennt_verify_ticket,不能直接用链接打开去看微信发过新的信息啊!!!
-
所以,你要保存它,然后通过其他方式获取到值。
-
当然解密也是一个重点,微信后台传来的数据是加密过的,必须经过解密才能获取到。
-
获取到其中的verify-ticket是第一步,接下来需要根据这个verify_ticket来获取component_access_token.
https://api.weixin.qq.com/cgi-bin/component/api_component_token
- 获取access_token后就可以获取预授权码了
https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=xxx
- 下一步,注意,是获取授权码。
微信第三方平台提供了两种获取授权码的方式,第一种,是直接在页面扫码授权,第二种是点击移动端链接授权。
我们选择扫码授权吧。 在界面上直接用a标签的href属性上绑定下面的url地址,就可以进行接下来的步骤了。
https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx
&pre_auth_code=xxxxx&redirect_uri=xxx&auth_type=xxx
redirect_uri注意要与自己的填写的域名一致。
其它的参数前面都已经获取过了。 记住component_access_token最好存为一个text文件,这样不会再跳转页面使用时过期。
- 接下来,我要告诉用户点击授权后,会跳转到你填写的redirect_url页面去。这个页面可以接受两个参数,一个是授权码,一个是过期时间。用$_GET方法就可以获取到了(php),有了授权码,我们就可以接下来的步骤了:
https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=xxx
- 这个步骤是获取【请求被授权公众号的接口】的一个调用凭据。
有了这个凭据后,你可以使用传回来的一个authorizer_access_token 去作为 调用接口的component_access_token来使用。
- 接下来,就是像开发微信公众号的方式去请求对应的接口啦,不用讲,你们这么聪明,一定能弄懂的 (-> _ ->)。
各位, さよなら。