위챗 공식 번호 템플릿 메시지 개발 요약
만나는 구덩이:
① 위챗의 템플릿 메시지를 호출하려면 사용자가 주목하는 이 공식 번호인 오픈 Id를 받아야 합니다.
openId를 가져오려면 들어갈 때의 코드 파라미터를 가져오고, 코드 파라미터는 링크를 통해 가져옵니다.그러면 공식계정에 들어갈 때 이 링크를 리셋해서 오픈 Id를 가져와야 합니다.
여기 리셋 안에 레드렉트uri 매개 변수, 이것은 리셋된 URL 인코딩 후의 값입니다.우리가 리셋을 하려면, 공중번호 관리단에서 리셋 도메인을 우리가 요청한 도메인으로 설정해야 한다. (도메인은 한 달에 세 번만 수정할 수 있음을 주의해야 한다.)
② 위챗에서 코드를 가져오는 링크를 호출할 때 aax 요청이 아니면 리셋을 완료할 수 없습니다.위챗으로 aax 요청을 거절한 것 같습니다.
/*
* , openId , openId
*/
String weixinOpenId = user.getWeixinOpenId();
if(Tools.isEmpty(weixinOpenId)){
String ssString = WechatUtils.getUserAuthURL(true,
weixinConstant.wReturnPrefix + request.getContextPath()
+ "/wechatLoginNoOpenId.do","0");
response.sendRedirect(ssString);
}
③ 요청한 매개 변수 중 URL은 템플릿 메시지를 클릭한 후 이동하는 페이지입니다.
if(!Tools.isEmpty(openId)){
// json
String templateMsgJson = WechatUtils.wrapJsonData(openId,
weixinConstant.wReturnPrefix
+ weixinConstant.ContextPath
+ "/inform/informWXView.do?id="+id,
weixinConstant.template_id_inform,
weixinConstant.firstData_inform,
" ",
" ",//TODO
" ",
weixinConstant.remarkData);
//
WechatUtils.sendTemplateMsg(templateMsgJson);
}else{
System.err.println("---------------- openId ");
}