如何让 POST 变成 Slack 的 url?
How to make POST to Slack's url?
我不能简单地 POST 到 Slack 的 url。
我需要 POST 这样的:
{ "text": "" }
到url喜欢https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX
先用curl命令试试
curl -X POST -H 'Content-type: application/json' --data '{"text":"This is a line of text.\nAnd this is another one."}' https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX
如果它能正常工作,那就小菜一碟
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"text\":\"This is a line of text.\nAnd this is another one.\"}");
Request request = new Request.Builder()
.url("https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX")
.post(body)
.addHeader("content-type", "application/json")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
像这样的 curl 命令将起作用:
read -r -d '' PAYLOAD << EOM
{"attachments": [{
"text": "Hello world!"
}]
}
EOM
curl --data-urlencode "payload=$PAYLOAD" "https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX"
我不能简单地 POST 到 Slack 的 url。
我需要 POST 这样的:
{ "text": "" }
到url喜欢https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX
先用curl命令试试
curl -X POST -H 'Content-type: application/json' --data '{"text":"This is a line of text.\nAnd this is another one."}' https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX
如果它能正常工作,那就小菜一碟
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"text\":\"This is a line of text.\nAnd this is another one.\"}");
Request request = new Request.Builder()
.url("https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX")
.post(body)
.addHeader("content-type", "application/json")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
像这样的 curl 命令将起作用:
read -r -d '' PAYLOAD << EOM
{"attachments": [{
"text": "Hello world!"
}]
}
EOM
curl --data-urlencode "payload=$PAYLOAD" "https://something.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXX"