首先添加自定义机器人,会获得一个链接:
https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxx
其中后面access_token是固定
import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@Service
public class DingdingTest {
private String DING_TALK_SERVER_URL="https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxx";
public void sendRobotMsg(String msg) {
StringBuffer msgBuffer = new StringBuffer();
msgBuffer.append(msg).append("[").append(LocalDate.now().toString()).append("]");
HttpClient httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost(DING_TALK_SERVER_URL);
httppost.addHeader("Content-Type", "application/json; charset=utf-8");
JSONObject jsonParam = new JSONObject();
jsonParam.put("msgtype", "text");
JSONObject jsonParamContent = new JSONObject();
jsonParamContent.put("content", msgBuffer);
jsonParam.put("text", jsonParamContent);
String textMsg = jsonParam.toString();
StringEntity se = new StringEntity(textMsg, "utf-8");
httppost.setEntity(se);
HttpResponse response = null;
try {
response = httpclient.execute(httppost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String result = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}