微信公众号测试账号总结
微信公众号测试账号总结
- 微信公众号
- 微信公众号测试账号
- 申请测试账号
- 配置微信公众号测试账号
- 接口配置信息
- JS接口安全域名,模板消息接口
- 网页授权获取用户基本信息
微信公众号
微信公众号测试账号
在开发微信公众号相关内容时,可以先在测试账号上测试,测试通过后再换成线上账号.
申请测试账号
百度微信公众号测试账号
,进入到微信公众号测试账号申请平台
:
使用微信扫码登录下就会分配给你一个测试账号,如下:
配置微信公众号测试账号
需要手动配置的信息包含:
1.接口配置信息
2.JS接口安全域名
3.测试号二维码
4.网页授权获取用户基本信息
接口配置信息
配置这个内容主要是为了确认开发者有开发能力和对应的服务器器.所以配置完提交的时候微信就会发送请求到你的服务器来确认这些信息,如果配置的url没有调通或者返回的内容不是微信想要的,那微信就会提示配置失败
.
这些在中也有明确的说明.
所以在提交之前先要在服务器上有这个URL的对应处理,并且按照微信要求返回随机字符串
以下是我这边的处理,仅供参考:
//校验微信接口配置信息@Get("checkSignature")public synchronized String checkSignature() {String returnString = "";Map<String, Object> request = getRequestMap().getRequest();logger.info("校验微信接口配置信息" + JSON.toJSONString(request));String signature = request.get("signature").toString();//微信加密签名String timestamp = request.get("timestamp").toString();//时间戳String nonce = request.get("nonce").toString();//随机数String echostr = request.get("echostr").toString();//随机字符串if (checkSignature(signature, timestamp, nonce)) {logger.info("接口配置信息校验通过校验通过");returnString = "@" + echostr;}return returnString;}private boolean checkSignature(String signature, String timestamp, String nonce) {String token = "XXXXX";//代码中的这个token要和微信接口配置信息中配置的token保持一致String[] arr = new String[]{token, timestamp, nonce};// 将token、timestamp、nonce三个参数进行字典序排序Arrays.sort(arr);StringBuilder content = new StringBuilder();for (int i = 0; i < arr.length; i++) {content.append(arr[i]);}MessageDigest md = null;String tmpStr = null;try {md = MessageDigest.getInstance("SHA-1");// 将三个参数字符串拼接成一个字符串进行sha1加密byte[] digest = md.digest(content.toString().getBytes());tmpStr = byteToStr(digest);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}//清空contentcontent = null;// 将sha1加密后的字符串可与signature对比,标识该请求来源于微信return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false;}//将字节数组转换为十六进制字符串private static String byteToStr(byte[] byteArray) {String strDigest = "";for (int i = 0; i < byteArray.length; i++) {strDigest += byteToHexStr(byteArray[i]);}return strDigest;}//将字节转换为十六进制字符串private static String byteToHexStr(byte mByte) {char[] Digit = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};char[] tempArr = new char[2];tempArr[0] = Digit[(mByte >>> 4) & 0X0F];tempArr[1] = Digit[mByte & 0X0F];String string = new String(tempArr);return string;}
JS接口安全域名,模板消息接口
这两个配置直接正常修改即可,提交的时候微信没有校验.
网页授权获取用户基本信息
在配置OAuth2.0网页授权,授权回调页面域名:时有个小问题需要注意下,有时候我们配置好回调域名后再获取用户授权时会报一个错误码10003: redirect_uri域名与后台配置不一致错误
的错误,这个时候就要看下后台调用接口https://open.weixin.qq.com/connect/oauth2/authorize中的域名和上边配置的域名是不是一致了.另外注意下平台中配置的域名是不带http/https的.接口请求中是要求带http/https的
StringBuffer qrCodeContent = new StringBuffer();
String redirectUri = "http://develop.test.com";//公众号授权回调域名要在公众号上进行配置
qrCodeContent.append("https://open.weixin.qq.com/connect/oauth2/authorize?appid=");
qrCodeContent.append("XXXXXXXXXXX");//公众号appid
qrCodeContent.append("&redirect_uri=http://develop.test.com");
微信公众号测试账号总结相关推荐
- springmvc开发微信公众号接口 微信公众号测试账号配置接口Token验证
转:springmvc开发微信公众号接口 微信公众号测试账号配置接口Token验证 开发前必读以及准备工作: 1.微信公众平台开发是指为微信公众号进行业务开发,为移动应用.PC端网站.公众号第三方平台 ...
- 微信公众号测试账号申请,后台获取公众号关注取关事件,获取用户发送消息
目录 1.访问微信公众号平台 2.扫码登录 3.登录后进行接口信息配置 4.完成以上配置和代码,将代码部署到服务器上,后台就可以接收到公众号的关注.取关.用户发送的消息等等事件拉! 1.访问微信公众号 ...
- php微信公众号测试账号密码,微信公众号测试账号配置失败竟然是因为一个字符...
开发环境: 1.SAE新浪云平台 2.PHP环境 3.在微信申请了一个测试用的公众平台开发账号 4.从微信官方下载的一个php文档 5.token也是默认的weixin,(这个第一次可以不用改,但如果 ...
- 微信公众号测试账号的网址
近日开始研究微信公众平台,但是申请的个人帐号只能是订阅号,可用的接口比较少,一点都不爽,想要个菜单都得花钱.就在我寻寻觅觅的时候,我在开发文档里面发现了测试人员帐号,测试帐号拥有微信公众平台所有的接口 ...
- 微信公众号测试账号的接口配置信息配置失败
记录一次配置失败的问题 问题发生环境: 因为项目之前配置是好的,后来域名备案,更换域名后,备案后重新配置,提示报错: 后面怎么调试都不合适,于是想到是否是域名配置时候哪里配置不合适,打开阿里云控制台, ...
- 微信公众号测试账号网址
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 微信sdk https://mp.weixin.qq.com/wiki?t ...
- 微信公众号测试账号做自定义模板
连接路径: https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E6%B6%88%E6%81%AF%E6%8E%A5%E5 ...
- 微信公众号测试生产环境分离实践
微信公众号测试生产环境分离实践 背景 最近开发微信公众号,部分功能上线后,为了保证不影响线上正常使用,新功能的开发测试遇到以及需要解决的问题如下: 调用微信公众号高级接口(授权,支付等)需要配置域名访 ...
- 微信“公众平台测试账号”接口调试指南
接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 实际开发时请自行参阅官方文档:http://mp.weixin.qq. ...
最新文章
- 技术类人员的职业发展的4大方向
- redis桌面管理工具 redis-desktop-manager使用指南(转)
- jenkins api_接触Jenkins(Hudson)API,第1部分
- 5.07—018—周二
- Swift字符串转换成类
- elementui设置时间_element-ui 表格数据时间格式化的方法
- 【经验之谈】劝退文|听说你要转AI
- java gc loggc_java9中gc log参数迁移
- oj交java代码_UvaOJ java输入代码
- 全开源JAVA支付系统/jeepay聚合支付四方支付系统
- 印度十大最好电影排行
- 数据挖掘研究的机遇及挑战 洪胜宏
- 港科夜闻|香港科大唐本忠院士团队整合最新研究成果:刺激响应型聚集诱导发光材料...
- 下载文件到本地解压压缩包出现文件损坏,报错问题已解决
- Windows核心编程笔记(8)
- php上传常见文件类型和$_FILES[file][type]
- 临时文件tempfile
- 将区块链带到第三世界:分布式电商BitCherry的格局与野心
- MATLAB入门教程(4):矩阵的生成
- 1377:最优乘车(travel)