收藏
回答

调getWXACodeUnlimit失败

java开发使用post请求调接口失败了,返回错误信息{"errcode":41002,"errmsg":"appid missing hint: [2YPCrA06382994]"},这接口也没有让传appid啊,access_token成功获取到了。有没有例子,求一个~



最后一次编辑于  2018-11-13
回答关注问题邀请回答
收藏

2 个回答

  • 半寸灰
    半寸灰
    2018-11-14

    我用Spring   的 RestTemplate

    是这样写的



    public static void getQr(String sceneStr, String accessToken) {
     
        RestTemplate rest = new RestTemplate();
        InputStream inputStream = null;
        OutputStream outputStream = null;
        try {
           String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+accessToken;
           Map<String,Object> param = new HashMap<String,Object>();
           param.put("scene", sceneStr);
           param.put("page", "pages/index/index");
           param.put("width", 430);
           param.put("auto_color", false);
           Map<String,Object> line_color = new HashMap<String,Object>();
           line_color.put("r", 0);
           line_color.put("g", 0);
           line_color.put("b", 0);
           param.put("line_color", line_color);
     
           HttpHeaders headers = new HttpHeaders();
     
           headers.setContentType(MediaType.APPLICATION_JSON);
           System.out.println("参数" + param);
           HttpEntity requestEntity = new HttpEntity(param, headers);
           ResponseEntity<byte[]> entity = rest.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]);
           byte[] result = entity.getBody();
           if(result.length>2000){
           inputStream = new ByteArrayInputStream(result);
           String filePathPre = "路径";
           if(!filePathPreDir.exists()){
              filePathPreDir.mkdirs();
           }
           File file = new File(filePathPre+"xxx.jpg");
           if (!file.exists()){
              file.createNewFile();
           }
           outputStream = new FileOutputStream(file);
           int len = 0;
           byte[] buf = new byte[1024];
           while ((len = inputStream.read(buf, 0, 1024)) != -1) {
              outputStream.write(buf, 0, len);
           }
           outputStream.flush();
           }
        } catch (Exception e) {
           
        } finally {
           if(inputStream != null){
              try {
                 inputStream.close();
              } catch (IOException e) {
                 e.printStackTrace();
              }
           }
           if(outputStream != null){
              try {
                 outputStream.close();
              } catch (IOException e) {
                 e.printStackTrace();
              }
           }
        }
     
     }


     


    2018-11-14
    赞同
    回复 1
    • Ol
      Ol
      2018-11-14

      我们的spring版本太低,不支持RestTemplate,唉。。。

      2018-11-14
      回复
  • 这都申请了
    这都申请了
    2018-11-13

    这是获取token的时候返回的吧,你是不是方法名写错了

    2018-11-13
    赞同
    回复 4
    • Ol
      Ol
      2018-11-13

      刚才试接口地址掉用错了,现在又找不到我的access_token了。{"errcode":41001,"errmsg":"access_token missing hint: [CCP3eA01591091]"}  这是后台post请求的代码,是post请求写的有问题吗?


      2018-11-13
      回复
    • 这都申请了
      这都申请了
      2018-11-13回复Ol

      这就不是很清楚了 ,对java不是很了解

      2018-11-13
      回复
    • 这都申请了
      这都申请了
      2018-11-13回复Ol

      我觉得问题可能出在url,?access_token=,token应该用键值对的形式包含在url里面,其他比如scene之类的参数才是StringEntity

      2018-11-13
      回复
    • Ol
      Ol
      2018-11-13回复这都申请了

      试过了,这种不行~

      2018-11-13
      回复