java - Java - 向 Slack Webhook 发送消息
问题描述
我正在尝试使用 Slack 传入 webhook 发送消息。我有以下代码。它运行,但是当我检查我的松弛时,没有消息。谁能看到我可能做错了什么。
public class SlackTest {
static String web_hook_url = "https://hooks.slack.com/services/***********/******************";
public static void main(String[] args) {
CloseableHttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(web_hook_url);
try {
String json = "{\"name\": John}";
System.out.println(json);
StringEntity entity = new StringEntity(json);
httpPost.setEntity(entity);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");
client.execute(httpPost);
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
解决方案
我首先使用 Postman 来测试发送消息。然后使用 Postman 生成相应的 Java 代码。然后稍微调整一下代码,得到以下结果。. .
OkHttpClient client2 = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{ \"text\" : \"more text"\" }");
Request request2 = new Request.Builder()
.url("https://hooks.slack.com/services/********/*********/***************")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "*/*")
.addHeader("Cache-Control", "no-cache")
.addHeader("Host", "hooks.slack.com")
.addHeader("accept-encoding", "gzip, deflate")
.addHeader("Connection", "keep-alive")
.addHeader("cache-control", "no-cache")
.build();
Response response2 = client2.newCall(request2).execute();
推荐阅读
- python - 将 hydra/omegaconf 配置转换为 python 嵌套字典/列表?
- assembly - 在 MIPS 中对用户输入进行平方
- javascript - Fetch、promise 和模块:架构问题
- c++ - 如何从钻石继承中的不同类别中获取值
- unix - 使用 awk 计算示例文件的字数
- google-cloud-platform - 有没有办法使用客户端 SDK 构建 GCP 数据融合管道?
- wordpress - 如何从 current_time('mysql') 查询 orderby meta_value?
- php - 用于更新文本 woocommerce 的 PHP 脚本
- python - 将 numpy 数组转换为结构化数组
- javascript - 仅在 html Datatable 中显示唯一的搜索结果