小程序开发服务端调用api

使用语言 java
再已post方法调用小程序api时,需要将传递参数专成json格式,否则调用失败。

比如调用模板消息,进行消息发送
templateMessage.send

HTTPS 调用
请求地址
POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
请求参数
属性 类型 默认值 必填 说明
access_token string 接口调用凭证
touser string 接收者(用户)的 openid
template_id string 所需下发的模板消息的id
page string 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
form_id string 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
data Object 模板内容,不填则下发空模板。具体格式请参考示例。
emphasis_keyword string 模板需要放大的关键词,不填则默认无放大

请求示例

{
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "form_id": "FORMID",
  "data": {
      "keyword1": {
          "value": "339208499"
      },
      "keyword2": {
          "value": "2015年01月05日 12:30"
      },
      "keyword3": {
          "value": "腾讯微信总部"
      } ,
      "keyword4": {
          "value": "广州市海珠区新港中路397号"
      }
  },
  "emphasis_keyword": "keyword1.DATA"
}

处理:
首先

JSONObject param = new JSONObject();
	param.put("touser", openid);
	param.put("template_id", templateid);
	param.put("form_id", formid);
	param.put("page", page);
	param.put("data", data);
String send = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token="+access_token;
//发送post请求
JSONObject obj4 = JSON.parseObject(HttpClientUtils.httpPost(send,param,60));

对于data的格式,例如:
Map集合内再存map对象,此处不可用JSONObject对象,因为用JSONObject会对引号进行转义,
当data封装完成后,再add到JSONObject对象中。

Map data = new HashMap<>();
	Map param =new HashMap<>();
	param.put("value",339208499);
data .put("keyword1",param);
	Map param1 =new HashMap<>();
	param.put("value",“2015年01月05日 12:30”);
data .put("keyword2",param);

你可能感兴趣的:(小程序开发服务端调用api)