Example #1
0
  public void replyApiTextMessage(
      HttpServletRequest request,
      HttpServletResponse response,
      String auth_code,
      String fromUserName)
      throws DocumentException, IOException {
    String authorization_code = auth_code;
    // 得到微信授权成功的消息后,应该立刻进行处理!!相关信息只会在首次授权的时候推送过来
    System.out.println("------step.1----使用客服消息接口回复粉丝----逻辑开始-------------------------");
    try {
      ApiComponentToken apiComponentToken = new ApiComponentToken();
      apiComponentToken.setComponent_appid(COMPONENT_APPID);
      apiComponentToken.setComponent_appsecret(COMPONENT_APPSECRET);
      WeixinOpenAccountEntity entity = getWeixinOpenAccount(APPID);
      apiComponentToken.setComponent_verify_ticket(entity.getTicket());
      String component_access_token = JwThirdAPI.getAccessToken(apiComponentToken);

      System.out.println(
          "------step.2----使用客服消息接口回复粉丝------- component_access_token = "
              + component_access_token
              + "---------authorization_code = "
              + authorization_code);
      net.sf.json.JSONObject authorizationInfoJson =
          JwThirdAPI.getApiQueryAuthInfo(
              COMPONENT_APPID, authorization_code, component_access_token);
      System.out.println(
          "------step.3----使用客服消息接口回复粉丝-------------- 获取authorizationInfoJson = "
              + authorizationInfoJson);
      net.sf.json.JSONObject infoJson = authorizationInfoJson.getJSONObject("authorization_info");
      String authorizer_access_token = infoJson.getString("authorizer_access_token");

      Map<String, Object> obj = new HashMap<String, Object>();
      Map<String, Object> msgMap = new HashMap<String, Object>();
      String msg = auth_code + "_from_api";
      msgMap.put("content", msg);

      obj.put("touser", fromUserName);
      obj.put("msgtype", "text");
      obj.put("text", msgMap);
      JwThirdAPI.sendMessage(obj, authorizer_access_token);
    } catch (WexinReqException e) {
      e.printStackTrace();
    }
  }