微信公众平台 | 您所在的位置:网站首页 › 微信公众号获取链接失败原因 › 微信公众平台 |
文章目录
1、创建自己的测试号2、测试号管理信息填写(注意仔细一步步对照)3、手动获取openid4、使用SDK获取openid
1、创建自己的测试号
通过申请链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 微信扫码登录 2、测试号管理信息填写(注意仔细一步步对照)1.测试号信息 创建登录自己的测试号之后,会自动给你 appID和appsecret,用于后面微信开发的使用 2.接口配置信息 URL配置信息参考:可以使用本地的也可以使用外网穿透方法 https://blog.csdn.net/mys_mys/article/details/123691740 https://blog.csdn.net/qq_41583828/article/details/82930289 https://blog.csdn.net/qq_34096082/article/details/79985141 Controller测试代码: package com.mys.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; /** * @author mys * @date 2022/3/25 22:07 */ @Controller @RequestMapping("/sign") public class GetWxSginController { private Logger logger = LoggerFactory.getLogger(GetWxSginController.class); @ResponseBody @RequestMapping(value = "/test", method = RequestMethod.GET, produces = { "application/json;charset=utf-8" }) public String getWxUserInfo(HttpServletRequest request, @RequestParam(required = false) String echostr, @RequestParam(required = false) String signature, @RequestParam(required = false) String timestamp, @RequestParam(required =false) String nonce ) { try { //只需要把微信请求的 echostr, 返回给微信就可以了 logger.info("测试来过===================" + echostr); logger.info("测试来过===================" + signature); logger.info("测试来过===================" + timestamp); logger.info("测试来过===================" + nonce); return echostr; } catch (Exception e) { logger.info("测试微信公众号的接口配置信息发生异常:", e); return "错误!!!"; } } }3.JS接口安全域名 此处还有点问题,后面具体使用时再来完善,因为一个月只有三次修改机会,不敢随便修改 4.微信扫码登录测试公众号 注意:此处一定要用使用的微信扫码,登录关注公众号才能使用 查看微信开放文档: 链接:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 文档说明中使用步骤: 用微信访问链接需要修改的部分: 填写自己的appid,redirect_uri,scope可选snsapi_base或者snsapi_userinfo,具体作用可以查看文档,写的很详细。 运行结果如下: 第1步获取到code之后,用下面的请求链接,获取access_token,会返回一个json格式的数据,其中里面就包含了openid,这个很重要的信息,用于唯一标识用户 链接需要修改的地方:填写自己的appid、secret,上面测试号管理信息中有,code换成第1步获取到的code,具体可查看测试代码 运行结果: 目前已经有开源写好了一些微信开发的相关操作,我们可以直接引入maven直接使用即可,官方也写了很详细的参考文档:https://gitee.com/binary/weixin-java-tools 主要步骤: 1.配置 2.调用方法 1.引入依赖 pom.xml com.github.binarywang weixin-java-mp 4.2.02.修改配置文件 application.yml,并写配置 WechatMpConfig package com.mys.config; import me.chanjar.weixin.mp.api.WxMpConfigStorage; import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage; import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; /** * @author mys * @date 2022/3/23 15:47 */ @Component public class WechatMpConfig { @Autowired private WechatAccountConfig accountConfig; @Bean public WxMpService wxMpService() { WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxMpConfigStorage()); return wxMpService; } @Bean public WxMpConfigStorage wxMpConfigStorage() { WxMpInMemoryConfigStorage wxMpConfigStorage = new WxMpInMemoryConfigStorage(); wxMpConfigStorage.setAppId(accountConfig.getMpAppId()); wxMpConfigStorage.setSecret(accountConfig.getMpAppSecret()); return wxMpConfigStorage; } }3.查看文档,编写代码 文档链接:https://github.com/Wechat-Group/WxJava/wiki/%E5%85%AC%E4%BC%97%E5%8F%B7%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3 也就是上面参考文档里面的一个子链接,下面代码就是一个获取openid的案例,其他学习可查看文档,写的很全面。 调试运行结果: 总结:以上便是自己通过看视频、查文章学习的步骤,花了挺长时间才搞定的。一开始听说是必须要微信公众号的服务号才能使用,但是服务号个人不能申请,必须要有营业执照之类的,最后查到可以使用微信管理的测试号,并且测试号的一些权限接口还挺多的,对于大部分开发来说是足够的。如果上述有问题,欢迎大家指正,非常感谢! |
CopyRight 2018-2019 实验室设备网 版权所有 |