- 小程序获取手机号没有权限?
POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN 请求结果是{"errcode":48001,"errmsg":"api unauthorized rid: 68a7bdf7-249b28ce-78e95786"} 时好时坏的,这个api我们都弄成模板了,用了很多次了,这种情况第一次见
08-22 - 发起转账 transfer-bills 请求实例中的参数到低怎么填?
https://pay.weixin.qq.com/doc/v3/merchant/4012716434 我寻思用java请求实例试试,可是发现这几个参数怎么也填补明白 TransferToUser client = new TransferToUser( 33 "填入 商户号", // 商户号,是由微信支付系统生成并分配给每个商户的唯一标识符,商户号获取方式参考 https://pay.weixin.qq.com/doc/v3/merchant/4013070756 34 "填入 商户API证书序列号", // 商户API证书序列号,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013053053 35 "填入 商户API证书私钥文件路径", // 商户API证书私钥文件路径,本地文件路径 36 "填入 微信支付公钥ID", // 微信支付公钥ID,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013038816 37 "填入 微信支付公钥文件路径" // 微信支付公钥文件路径,本地文件路径 38 ); 商户API证书序列号 商户API证书私钥文件路径 怎么填呢。 总是返回 微信支付API访问失败,StatusCode: 401, Body: {"code":"SIGN_ERROR","message":"商户证书序列号有误。请使用签名私钥匹配的证书序列号"} [图片] API证书序列号我就是从这里获取的啊。商户API证书私钥文件路径 因为就在项目根目录,我就填写apiclient_key.pem。没毛病吧。 apiclient_key.pem这个文件还是我新申请的呢。弄半天就是不对。
06-13 - 发送设备消息报错?
String url1="https://api.weixin.qq.com/cgi-bin/message/device/subscribe/send?access_token="+access_token; Map<String,Object> m =new LinkedHashMap<>(); //oWIHOJ1zMGQqOwIbiHpd97APq6XwYTQXjptjJk1PokU m.put("template_id","oWIHOJ1zMGQqOwIbiHpd97APq6XwYTQXjptjJk1PokU"); m.put("sn", "HSN96-30"); m.put("page", page+"?id="+messageId); ArrayList<String> openids = new ArrayList<>(); openids.add(openid); m.put("to_openid_list", openids); m.put("modelId", "5QZnhhm33NF-MIIjgr4oWg"); m.put("lang", "zh_CN"); Map<String,Object> data =new LinkedHashMap<>(); data.put("character_string2",new TemplateData("HSN96-30")); data.put("time1",new TemplateData(DateStatisticsUtil.addYearsToDate(cellStorage.getStorageTime(),cellStorage.getStorageYears().intValue()))); data.put("enum_string4",new TemplateData("测试")); m.put("data",data); String str= BackEndHttpRequest.sendPost(url1, JsonUtils.ObjectToString(m)); System.out.println("请求内容:"+JsonUtils.ObjectToString(m)); Map maps = (Map) JSONObject.parseObject(str); System.out.println(maps); {"errcode":47003,"errmsg":"argument invalid! data.enum_string4.value is emp rid: 680b29d0-5009615b-4d24f410"}提示enum_string4有问题, enum_string character_string有什么特殊要求吗,有具体的说明文档吗,character_string我也是才知道不能有中文汉字
04-25 - 长期订阅到低使用哪个接口?
我的类目里有长期订阅的模板,并且通过https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate可以查询到模板信息,type是3,然后我在调用发送消息接口时,使用的是https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN,[图片] 我是从这里点进来的。可以在我在发测试时,总是返回40037。然后我在社区问了之后,有的大佬告诉我用错接口了,应该用设备消息接口https://api.weixin.qq.com/cgi-bin/message/device/subscribe/send,可是我没有使用硬件的场景啊。主要是我很表示疑问,为什么长期订阅消息这块,文档里没有一个很详细的说明呢。
04-24 - 发送订阅消息命名template_id没问题 为什么一直报错
String url1="https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+access_token; Map<String,Object> m =new LinkedHashMap<>(); m.put("touser", openid); m.put("template_id","oWIHOJ1zMGQqOwIbiHpd99pkznYQY9XyuExjsozFnK0"); m.put("page", page+"?id="+messageId); Map<String,Object> data =new LinkedHashMap<>(); data.put("character_string2","冻存信息"); data.put("time1",DateStatisticsUtil.addYearsToDate(cellStorage.getStorageTime(),cellStorage.getStorageYears().intValue())); data.put("enum_string4",title); m.put("data",data); String str= BackEndHttpRequest.sendPost(url1, JsonUtils.ObjectToString(m)); Map maps = (Map) JSONObject.parseObject(str); System.out.println(maps); {"errcode":40037,"errmsg":"invalid template_id rid: 680a1fe1-5f69fc56-76921902"}
04-24