我可以在松弛的邮件附件中发送自定义属性/数据吗?

lch*_*lch 2 slack-api slack

我想在附件中为交互式消息发送一些自定义属性,并在操作响应中将其检索回来.有没有办法做到这一点?

Eri*_*ken 6

是的,这是可能的.但是,它仅适用于小型数据集.

假设我们正在讨论按钮,通常的方法是使用value操作字段根据用户点击回应用的按钮来传输自定义数据.该字段是JSON消息中的普通字符串,它通过POST请求发送到您的应用程序.因此它原则上可以包含整个数据集,而不仅仅是单个值.您需要做的就是将其包含在发送给Slack的按钮附件中,您的应用将返回相应的值字段.(根据您要发送的数据,您可能需要对其进行编码,例如,您希望将二进制数据编码为base64,以便可以将其作为JSON字符串传输)

我已经在我的一个应用程序中成功使用它来传输包含有关用户应用程序上下文信息的序列化对象.

但有一点需要注意,这让我后来又放弃了这种方法.我发现字段长度是有限的,所以如果你的字符串太长,你可能会得到截断的数据.在我的估计中,限制是大约2.000个字符,但我没有确定的数字.

我现在将用户应用程序上下文保留在服务器会话(PHP)中,而不是传输附件中的所有数据,而只通过value我的按钮字段传输ID .

结论:如果您拥有少量数据,则可以通过该value字段进行传输.如果你有更大的数据集,我不推荐它.