钉钉消息会话管理,给钉钉传一个url的连接会话传递多个参数的问题

钉钉的消息会话支持多种格式:包括文本、图片、链接......,这里说一下当你想创建一个链接消息时,多个参数的传递问题。

首先写一个发送消息的方法,然后在main方法里面测试调用。一定要对url先进行编码URLEncoder.encode(messageUrl, "utf-8"),要不然传参只能传一个,后面的都解析不出来

	public static boolean sendLinkMsg(final String msg, final String linkTitle,
			final String messageUrl, final List<String> userNameList)
			throws UnsupportedEncodingException {

		if (StringUtils.isNotEmpty(msg) && StringUtils.isNotEmpty(linkTitle)
				&& StringUtils.isNotEmpty(messageUrl) && userNameList != null) {
			String agentId = PropertiesUtil.getProperties("agentID", "*");
			String msgUrl = PropertiesUtil.getProperties("linkMsgUrl",
					"https://*******");
			String userNames = "发送给钉钉用户的姓名";
			String mapStr = "msg=" + msg + "&accountlist=" + userNames
					+ "&agentID=" + agentId
					+ "&msgtype=link&link_title="
					// 重点就在URLEncoder.encode 要不然你在url里面用&拼接的参数全都传不过去
					+ linkTitle + "&message_url="
					+ URLEncoder.encode(messageUrl, "utf-8") + "&random="
					+ new Random().nextInt();

			HttpUtils.post(msgUrl, mapStr);
		}
		return true;
	} 重点就在URLEncoder.encode 要不然你在url里面用&拼接的参数全都传不过去
					+ linkTitle + "&message_url="
					+ URLEncoder.encode(messageUrl, "utf-8") + "&random="
					+ new Random().nextInt();

			HttpUtils.post(msgUrl, mapStr);
		}
		return true;
	}

 

man方法测试,一定要对url先进行编码,要不然传参只能传一个,后面的都解析不出来

 

	public static void main(String[] args) {
		List<String> userNameList = new ArrayList<String>();
		userNameList.add("钉钉用户");
		String msg = "消息内容";
		String linkTitle = "消息标题";
		String messageUrl = "https://xxxController_test.do?test1=test1&test2=test2";
		try {
			sendLinkMsg(msg, linkTitle, messageUrl, userNameList);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

buyaopingbixiazai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值