我有一个以下 JSON 文件:
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Success: ondrejdolezal93's workflow (<https://circleci.com/api/v1.1/project/github/integromat/docker-db-updater/628|build>) in <https://app.circleci.com/pipelines/github/integromat/docker-db-updater%7Cintegromat/docker-db-updater> (<https://app.circleci.com/pipelines/github/integromat/docker-db-updater?branch=main%7Cmain>)\n- Fix update version (<https://github.com/integromat/docker-db-updater/commit/9a5b8d61a5c79dabbb2a47bb68b33748034986aa%7C9a5b8d6> by ondrejdolezal93)"
}
}
]
}
我正在尝试使用 Slack webhook 并使用curl
.
我的命令如下:
curl -X POST -H 'Content-type: application/json' --data @message.json $SLACK_WEBHOOK_URL
来自curl的回复是:no_text
请问我做错了什么? JSON 根据 Slack API 文档进行格式化。
答案1
在 Slack API 文档中,它明确指出,如果您发送 JSON 编码的正文,您将必须在 HTTP 标头中传输您的 API 令牌Authorization
。你没有这样做。
curl
文档中提供了一个示例查询(通过缩进、用对文件的引用替换内联 JSON 文档并引用 URL 进行修改):
curl -X POST \
-H 'Authorization: Bearer xoxb-1234-56789abcdefghijklmnop' \
-H 'Content-type: application/json' \
--data @message.json \
'https://slack.com/api/chat.postMessage'
请参阅此处的 API 文档:https://api.slack.com/web