其实都说微信的开发文档简单,那是对于开发过一遍的人来说,看的特别简单,假如小白没有开发过,上来就看这个代码,他还不太懂这个获取的流程所以肯定就不是特别的容易,多多少少都有碰到问题。
今天就来说下这个问题,先说下这几天写的企业微信的扫码登录和授权登陆吧。
先说不说吧,首先先上企业微信开放文档https://work.weixin.qq.com/api/doc这个大体的流程是这样,下面描述的都是我个人观点,
1. ## 首先先别着急写代码,先捋一遍你自己的思路,这样做起来会很快捷,这就跟遇到凡事别发慌,先把思路捋出来是一个道理,首先你要知道用户信息的url以及相对应需要的参数,我们先来说网页授权登录,我们直接说如何写能实现,
***~~appid 企业的corpID 在我的企业的企业id~~ ***
// 字符串拼接好网址返回给前端
@RequestMapping(value = "/qywxauth", method = RequestMethod.GET)
public Result<String> qywxauth(HttpServletResponse response) throws Exception {
//回调网址
String reUrl = "http://oa.bbb.com";
//获取方式静默授权,可选
String scopetype = "snsapi_privateinfo";
//请求code 路径
String sUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?"
+ "appid=CORPID&redirect_uri=REDIRECT_URI&"
+ "response_type=code&scope=snsapi_base&"
+ "state=STATE#wechat_redirect";
String wxurl = sUrl.replace("CORPID", corpId)
.replace("REDIRECT_URI", reUrl).replace("SCOPE", scopetype)
.replace("AGENTID", agentid);
System.out.println(wxurl);
return new Result<String>("v", "即将前往微信授权",wxurl);
}
自己可以用postman先请求一遍,先获取到授权连接,这里的这个redirect_uri 对应的地址是你在企业微信应用哪里配置的网页授权的回调地址,必须是域名,否则是不行的配置在这里
写一个分割线哈哈哈哈
然后用授权连接去微信开发者工具 获取code
点击授权使用获取到code,五分钟内有效,只能使用一次
然后就完成一半了,接下来我们去获取access_token ,还是用postman请求
正确的会出来这个结果
access_token 这个有效期好像是20分钟
这样我们两个获取用户信息的必须条件就拿到了,接下来就可以继续请求了接下来的连接是这样的
https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?
access_token=放入刚刚拿到的token&code=放入刚刚拿到的code
我们还是放到postman去进行测试
返回的结果如下:切记一定要确保code使用过一次,否则会报40029这个错误码
返回的参数userid 就相当于微信的openid 都是唯一的,我们写到这里大家应该对这个流程有了一个大概的概念,
- [ ]我们从头捋一遍流程就是,首先将获取授权的连接
-
https://open.weixin.qq.com/connect/oauth2/authorize?
appid=CORPID&redirect_uri=REDIRECT_URI&
response_type=code&scope=snsapi_base&
state=STATE#wechat_redirect -
要在微信开发者工具上打开,然后获取到code,
- [ ] 接下来获取换取token
- https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
- [ ]用token和code获取用户信息
获取用户信息的情况你根据三种不同的授权方式去获取
- https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
- [ ] 之后的逻辑判断就看你自己了
具体的代码书写,在这里主要是讲解思路,看获取过程的代码的来(<----代码流程看这里)https://blog.csdn.net/rows_com/article/details/107256618
最后企业微信测试有一个坑就是用微信开发者工具测不了,企业微信的修改讲解看这里(<–测试配置修改看这https://blog.csdn.net/rows_com/article/details/107253899)