如何使用 curl 命令传递数组最重要

问题描述

我是 Mattermost Rest API 世界的新手,想使用 curl 命令创建直接消息通道。 https://api.mattermost.com/#tag/channels/paths/~1channels~1direct/post

我试过这个命令

curl -i -X POST -H 'Content-Type: application/json' -d '["bot ID","reciever ID"]' -H 'Authorization: Bearer MyAccesstoken' https://myServer/api/v4/channels/direct

但是遇到了这个问题

{"id":"api.context.invalid_body_param.app_error","message":"Invalid or missing user_id in request body.","detailed_error":"","request_id":"jghjkdfhgjkdfhgjkfh545","status_code":400}

我感觉在我的 curl 命令中使用数组格式不正确或?

解决方法

我最近遇到了同样的问题,并且能够通过向 Mattermost 发送一个包含两个相同接收器 ID 的数组来解决它,如下所示:

curl -i -X POST -H 'Content-Type: application/json' -d '["reciever ID","reciever ID"]' -H 'Authorization: Bearer MyAccessToken' https://myServer/api/v4/channels/direct

我知道这有点愚蠢,但它有效!如果您真的想从机器人向用户发送 DM,请确保机器人 ID 实际上有效并且机器人存在。就我而言,集成就像一个机器人,但不存在实际的机器人用户。