我正在尝试发布到Slack频道,但无法正常工作。 我在Slack中收到的唯一消息是Array,因为text的值是Array。由于我了解他们的文档,因此不应该这样做。如果我将文本移到数组的第一级,则会显示实际的文本,因此我猜测我的请求运行正常。我想念什么?这是使用GuzzleHttpClient在PHP中完成的。
我的讯息:
[
'type' => 'section',
'text' => [
'type' => 'mrkdwn',
'text' => 'This is supposed to be my text'
]
];
我对API的请求
$request = $client->post($url, [
RequestOptions::JSON => $messages
]);
答案 0 :(得分:1)
这似乎不太明显,但是您不能将其 API chat.postMessage
所使用的消息格式用于传入的Webhooks。两者的格式都不同。
话虽如此,follow this documentation for webhook messages及其相应的格式为here。
您要尝试使用的是所谓的“块”,它似乎专用于其API messaging。
如果您在此message builder上尝试发送消息(该消息是针对Webhooks的),它将失败。但这将适用于this message builder。
如果希望消息显示在多行上,也许您可以不用换行了。参见here。
答案 1 :(得分:0)
您的结构不正确,请参见文档:https://api.slack.com/messaging/composing/layouts#stack-of-blocks
它应该是消息块数组,您需要再嵌套一次。
var canvas = new fabric.Canvas('canvas', {
preserveObjectStacking: true,
});
答案 2 :(得分:0)
如@ncla所述,如果您使用传入的Webhook API使用“块UI”元素,则无法像chat.postMessage
一样发送块。
在Blocks文档中并不明显,但在
Messages payload page,它指定您可以发送blocks
属性。这将允许您使用“块”结构。