Java--对接微信第五篇之底部菜单按钮Url设置(通过按钮回调获取Openid)

在上一篇的基础上,有一个地方是需要去微信公众平台设置的(如果你这个url需要获取用户openid的话!如果不需要获取可以无视)

登录微信公众平台-->公众号设置-->选择功能设置-->设置网页授权域名(为微信认为安全的地址,不用精确到方法,但是你需要将一个文本密钥放入对应地址下,微信会在这个地址校验密钥。密钥微信会给你下载)

我放在这里(这是我op项目下的resources/static/open)对应op/open:

这些做完之后,点击保存,微信会给你返回结果。我这边是成功了!如果失败:会有错误信息,一般是找不到那个密钥,看看你的位置是否放正确了!

这些事情做完之后,我们回到上一篇:

组装菜单数据方法getMenu()那:

String redirect_uri = "http://www.你的服务器回调地址.com/op/open/openArticle";

这个地址:BaseAPI.OPEN_URI+"/connect/oauth2/authorize?appid="+ WeiXinUtil.APPID+"&redirect_uri="+redirect_uri+"?category=1&response_type=code&scope=snsapi_base&state=1#wechat_redirect"
它的完整地址是:
https://open.weixin.qq.com/connect/oauth2/authorize?appid="+ WeiXinUtil.APPID+"&redirect_uri="+redirect_uri+"?category=1&response_type=code&scope=snsapi_base&state=1#wechat_redirect
其中appid不用我说了吧。别的东西都不用管,你先看redirect_uri
这个地址能否调用你的项目接口
例如我的项目接口有这个方法:
/**
  * 公共文章界面
  * @param map
  * @return
  */
 @RequestMapping(value = "/open/openArticle")
 public String openArticle(ModelMap map,HttpServletRequest request) throws Exception{
     String code = request.getParameter("code");//页面授权获取的code用以交换 openid
     String openId = OAuthGetOpenid(code);//OAuth获取用户openid区分是哪个用户请求登录W3
     map.put("title", "公共文章界面");
     map.put("path", path);
     map.put("openId",openId);
     map.put("category",category);
    
     return "openArticle";
    }

/**
  * 通过页面OAuth授权,用code获取openid
  *
  * @param code
  * @return
  */
 public String OAuthGetOpenid(String code) throws Exception{
     JSONObject json = new JSONObject();
     String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+WeiXinUtil.APPID+"&secret="+WeiXinUtil.APPSECRET+"&code=" + code + "&grant_type=authorization_code";
     String outputStr = "";
     json = WeiXinUtil.doPostStr(requestUrl, outputStr);
     String openid = json.getString("openid");
     logger.info(json+"---------json--------openid-----------"+openid);
     return openid;
 }

到这就完成了。点击菜单按钮之后,我这边可以成功获取到用户的openid,并且成功跳转到指定url页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小达哥的垃圾桶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值