javaweb使用post自定义json数据到微信小程序api接口来推送模板信息给用户,以及JSON数据包返回47001错误码data format error hint问题解决!!!

查了很多关于微信推送的,甚至看了php的推送代码,其实,微信推送主要是把参数格式传对基本没问题了,如果遇到返回47001错误码data format error hint,基本是传送json格式错误,你可以复制自己的参数去json校验一下。

ãjavaåºäºsshæ¡æ¶postèªå®ä¹jsonæ°æ®å°å¾®ä¿¡å°ç¨åºapiæ¥å£æ¥æ¨é模æ¿ä¿¡æ¯ç»ç¨æ·,以åJSONæ°æ®åè¿å47001é误ç data format error hinté®é¢è§£å³ï¼ï¼ï¼ã

下面是亲测成功的代码:

基本流程是,用开发id和开发密钥发送获取token,然后token拼接你的参数再请求另一个接口就行了,我这里写多了一个实体工具类ModelParam,方便我传参。

**
* 向指定URL发送GET方法的请求 获取token
*
*/
public String gettoken() {
String token=””;
String result = “”;//获取请求数据
String appId = “”;//小程序开发id
String secret = “”;//小程序开发密码
String url=”https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=”+appId+”&secret=”+secret;
BufferedReader in = null;
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty(“accept”, “*/*”);
connection.setRequestProperty(“connection”, “Keep-Alive”);
connection.setRequestProperty(“user-agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)”);
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
// 建立实际的连接
connection.connect();
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;
while ((line = in.readLine()) != null) {
result += line;
}
JSONObject jsStr = JSONObject.fromObject(result); //将字符串转成json
token = jsStr.getString(“access_token”);//获取access_token的值
System.out.println(“token::”+result);
} catch (Exception e) {
LOG.error(“Exception occur when send http get request!”, e);
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return token;
}

然后是发送最后接口:(参数全部正确对应就可以了)

上面基本就搞定了,代码比较杂乱,不过只要逻辑清晰可以直接写一个简便优化就好。对于上面的代码,有什么问题的,或者要源代码的,可以下面评论,谢谢访问!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值