最近在调试微门户,需要获取微信openid,使用企业号的时候获取openid没有报错,同样的方法微信公众号获取的时候就报40163错误即code重复使用,百度了一下,基本没有正面回复,今天无意之间看到一条回复,说是使用了动态链接的原因,验证了下,果然正确,记之。

第一次将地址链接替换后第二次再调用的时候还是用的上一次的地址

private static final String APPID = "??";
    private static final String SECRET = "??";
    private  String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
 
    @RequestMapping("/getOpenid")
    public String getOpenid(HttpServletRequest request, HttpServletResponse response) {
        String path = (String) request.getSession().getAttribute("reqPath");
         
        // 用户同意授权后,能获取到code
        String code = request.getParameter("code");
         
        // 获取网页授权access_token
        JSONObject object = getOauth2AccessToken(APPID, SECRET, code);
         
        request.getSession().setAttribute("openid", object.getString("openid"));
        return "redirect:" + path;
 
    }
 
    public  JSONObject getOauth2AccessToken(String appId, String appSecret, String code) {
        // 拼接请求地址
        requestUrl = requestUrl.replace("APPID", appId).replace("SECRET", appSecret).replace("CODE", code);
        // 获取网页授权凭证
        JSONObject jsonObject = null;
 
        try {
            jsonObject = HttpUtil.getJsonForGet(requestUrl);
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        return jsonObject;

}

原问题地址 http://bbs.csdn.net/topics/392185947

微信获取openid的时候报40163错的原因相关推荐

  1. 微信小程序获取openid等参数报错errcode:48001 errmsg:'api unauthorized'

    我的报这个错的时候,把url改成下面这个就可以了, "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret ...

  2. 简单的实现微信获取openid

    微信公众平台获取openid在公众号的开发中有很多用途,前段时间为实现用户使用公众号在登录一次以后可以免密登陆而使用了openid.开发过程中遇到了一些问题,在这里向需要且还没有获取到openid的米 ...

  3. 微信获取openID以及token

    微信的openID和token是唯一的身份标识.非常重要,其中token的有效期只有两个小时(官方可能修改). 获取openID事例: 官方文档 1 第一步:用户同意授权,获取code https:/ ...

  4. vue 微信(企业微信)获取openId

    项目背景: 一个H5活动页,获取企业微信的用户openId,然后通过openId调用接口判断用户是否是第一次登陆,第一登陆跳转index,不是第一次调转about. 开发: 参考很多博客,用了中转页面 ...

  5. 微信获取openid方法

    绑定appId 配置API key 生成证书 设置支付授权目录 设置授权域名(获取openid的域名) openid:openid是微信用户在appid下的唯一用户标识(appid不同,则获取到的op ...

  6. 「前端」微信获取openId,静默授权与非静默授权

    首先了解一下静默与非静默授权的区别 静默授权「snsapi_base」 以 snsapi_base 为 scope 发起的网页授权,不用用户手动授权,跳转授权回到回调页面,只能获取用户openId 非 ...

  7. 微信获取信息用户登录报错redirect_uri域名与后台配置不一致,错误码10003

    解决方法:公众号->公众号设置->功能设置->业务域名,js接口域名,网页授权域名需要填写,

  8. java微信获取openId和sessionKey

    流程如下: 小程序端调用由微信提供的wx.login()方法,获取登录凭证(code) 获取到code之后,到服务端换取openId以及sessionKey,服务端此时需要发送请求到微信,用code换 ...

  9. 微信获取openId

    router.beforeEach(function(to, from, next){//中间页等待跳转if(to.meta.requireCheck=="WaitLogin"){ ...

  10. H5在微信中获取openid

    H5在微信中获取openid 为什么要获取openid openId是用户在当前公众号下的唯一标识('身份证').在微信中进行微信分享.支付等操作时需要用户的openid.H5要在微信中获取到用户op ...

最新文章

  1. java有一个东西_Java编写中容易搞错的一些东西
  2. Java线程池(一)
  3. Hystrix仪表盘解释
  4. 通过异常捕获判断字符串是不是数字格式
  5. 一调计算机专业综合理论试卷,一调计算机专业综合理论试卷(盐城)(新编)
  6. 样条 开源_成年人在开源社区中是什么样的?
  7. RESTful API标准设计教程
  8. 无界面和应用图标的应用程序
  9. VirtualBox常用命令
  10. 如何将jar包加入到Maven本地仓库
  11. Excel表格中如何批量删除工作表
  12. LTE下行物理层传输机制(5)-DCI格式的选择和DCI1A
  13. windows批处理脚本bat命令解析【12】ECHO处于关闭状态
  14. 绿色自适应网址发布页html源码
  15. 电商的运营模式流程(最全解析电商运营模式)
  16. 台式计算机开机风扇不转,台式机开机风扇转一下停一下
  17. 微信公众号二次开发可以做哪些功能?
  18. Python文章合集 | (入门到实战、游戏、Turtle、案例等)
  19. 汉画轩国学传承国学精髓 解惑修身之道
  20. 03_建立 Windows 和虚拟机 Ubuntu 共享文件夹

热门文章

  1. 620集成显卡和mx250,残血还是满血?一招看清MX250显卡真面目
  2. 金蝶K3即时库存成本计算逻辑是什么?
  3. shell自动部署k8s集群:新增加的work node节点加入k8s集群
  4. 小米路由器4刷机说明(openwrt-21.02.1)
  5. thinkpad T500开机大于10分钟,黑屏
  6. 转录组分析_20个必须知道的转录组知识点!
  7. html单元格加斜线,怎样在表格中加斜线 选中第一个单元格,进入下一步
  8. ps—图层、(移动工具中)对齐
  9. 做生意的“四大方向”让你看清财富的本质
  10. ACM常用数据结构小结与实现