curl - 如何使用 curl 命令响应 Slack 线程
问题描述
我试图让我的 curl 工作,然后我尝试创建对线程的响应。
我一直在关注这个文档: https ://api.slack.com/docs/message-threading#threads_party 从测试人员那里我得到了拨打电话所需的信息: https ://api.slack.com/methods/ chat.postMessage/test
如果我尝试使卷曲看起来像这样:
curl -X POST -H 'Content-type: application/json' --data '{"token":"MYTOKEN","channel":"Chanel-ID", "message": {"text":"curl", "thread_ts":"1543586718.000800"}}' https://hooks.slack.com/services/MYSLACKHOOKID
每次我这样做时,我都会收到“无文本”的回复,有人可以帮助我实现目标吗?我只想回复一条消息。
解决方案
您的 curl 声明中有几个问题。
传入的 webhook 不支持线程,因此您需要使用
chat.postMessage
API 方法。如文档中所述:传入的 webhook 不支持线程。如果您希望您的应用在线程中回复消息,请使用 chat.postMessage。
您的 JSON 语法不正确。没有
message
财产。而是创建一个包含所有需要属性(除了token
)的平面 JSON 数组,例如channel
,text
,thread_ts
. 请参阅此处以获取完整的语法chat.postMessage
当以 JSON 格式发布时,您必须在授权标头中包含您的令牌,而不是在您的请求正文中。正如这里更详细地解释的那样。
最后,但同样重要的是,我建议您指定字符集,否则您会收到警告。
完整的卷曲看起来像这样:
curl https://slack.com/api/chat.postMessage -X POST -H 'Content-type: application/json; charset=utf-8' -H "Authorization: Bearer TOKEN" --data '{"channel":"CHANNEL-ID", "text":"curl", "thread_ts":"THREAD-TS"}'
推荐阅读
- python-3.x - Python3 Qt5 主窗口
- sql-server - t-sql 循环遍历所有行并从列中求和,直到达到值
- java - 网豆10.0
用于简单的 Hello world 程序 - reactjs - React Material UI 通过多页应用程序传递更新的日期
- c++ - 带有非静态成员函数的 std::async
- reactjs - 刷新不适用于反应js中的子菜单路径
- laravel - 查询视图、Postgres 和 Laravel
- c# - 未找到“编辑”视图或其主视图,或者没有视图引擎支持搜索到的位置
- forms - 使用相同的页面模板在不同的页面上加载不同的表单
- html - 如何在 HTML 中编程以在一天中的特定时间显示图像?