企业微信开发部署第三方应用

网上资料太少了,只能啃官网文档

官网文档:
https://work.weixin.qq.com/api/doc
一篇写的很好的博客
https://blog.csdn.net/anyuetiantang/article/details/97516853

1. 前言

课程设计需要使用把项目部署到微信中使用。我实现的效果就是在企业微信里面可以直接点击应用然后使用(仅限于内部成员,外部成员无法访问)。
说明: 企 业 微 信 \color{red}{企业微信} ,和 微 信 企 业 \color{red}{微信企业}
在这里插入图片描述

2. 注册账号

https://work.weixin.qq.com/
并且登录

手机上最好也同时下载“企业微信”app
进入应用管理可以看见 创 建 应 用 \color{red}{创建应用}
在这里插入图片描述

3. 网页授权

配置好域名(没有就用内网穿透也行)
在这里插入图片描述
这里微信会请求你的http://abcdf.com/WW_verify_agFRemnEVeHcITzc.txt
你需要返回下载文件里的内容即可
在这里插入图片描述
后端代码
我直接写死了,反正不会变(每个人的校验码都不一样)

@Api(tags = "微信授权认证接口")
@Controller
public class OAuthController {
    
    

    @ApiOperation("微信域名验证接口")
    @ResponseBody
    @GetMapping("/WW_verify_agFRemnEVeHcITzc.txt")
    public String authentication() {
    
    
        System.out.println("域名认证成功");
        return "agFRemnEVeHcITzc";
    }
}

4. 常规功能

发送消息,接受消息,自动回复这些和公众号是一样的
工作台主页,和自定义菜单里面就可以跳转到自己的web页面了,这样就成功把web应用嵌入到企业微信中了。
用户可以直接在企业微信中访问自己的web应用
在这里插入图片描述

5. 微信授权登录

https://work.weixin.qq.com/api/doc/90000/90135/91020
看文档吧
使用OAuth2实现扫码登录,就是有几个坑

在这里插入图片描述
java后端代码,用户访问我的localhost:8080/user,就会跳转到微信的扫码登录界面(这里的url需要根据官网文档拼接一下),当扫码登录完成后,会重定向到我们指定的地址REDIRECT_URI(注意需要encoder)。我这里就直接重定向到主页了,中间的service我就删去了。

@Api(tags = "微信授权认证接口")
@Controller
public class OAuthController {
    
    

    @ApiOperation("微信域名验证接口")
    @ResponseBody
    @GetMapping("/WW_verify_agFRemnEVeHcITzc.txt")
    public String authentication() {
    
    
        System.out.println("域名认证成功");
        return "agFRemnEVeHcITzc";
    }

    @ApiOperation("微信扫码登录接口")
    @GetMapping("/user")
    public void qr(HttpServletResponse response) throws IOException {
    
    
        String REDIRECT_URI= URLEncoder.encode("http://egssen.natappfree.cc","UTF-8");
        String url="https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=wwc0cc67cb47bedf03&agentid=1000002&redirect_uri="+REDIRECT_URI;
        response.sendRedirect(url);
    }
    @ApiOperation("重定向接口")
    @GetMapping("/")
    public String qq(@RequestParam("code") String code,@RequestParam("state") String state,@RequestParam("appid") String appid){
    
    
        System.out.println("用户code="+code);
        return "home";
    }
}

6. 其他

如何获取用户信息,
术语介绍

corpid userid 部门id tagid agentid secret access_token 回调配置…

看官网文档,讲的很清楚

https://work.weixin.qq.com/api/doc/90000/90135/90664

猜你喜欢

转载自blog.csdn.net/qq_40733911/article/details/106663566