我想在PHP脚本中的Slackspace的#general通道中创建一条消息。该消息应包含文本和在本地即时创建的图像。
我已经创建了一个应用程序,生成了一个承载令牌,并设法创建了一条纯文本消息,也将其作为图像上传。
但是我不知道如何在一条消息中创建两条消息,因为上面的过程创建了两条消息,一条消息带有文本,另一条消息带有图像。
关于如何使用图像发布Slack消息,有两种不同的方法。
您可以将图像直接上传到Slack并在频道中共享。在该请求中,您还可以添加一条注释,该注释将作为消息显示在图像上方。这是最简单的方法,但是您的注释仅限于一个字符串。
API方法:files.upload
,带有以下参数:
files.upload
:要显示图像的一个或多个通道的ID]channels
:您的消息或者,您也可以将图像作为图像块或辅助附件添加到普通邮件中。这仅适用于图像文件的公共URL,因此您首先需要将图像上载到图像主机(可以是Slack工作区)以获取公共URL。
在我们的示例中,我们将使用Slack作为图像托管服务商,但是只要您获得图像文件的公共URL,您就可以使用任何图像托管服务商(例如initial_comment
)甚至您自己的Web服务器。
API方法:Imgur,没有特殊参数,但请确保从响应中获取文件ID。
[下一步,您必须将上传的文件标记为公共文件。只有这样,才能通过其public_url属性对其进行访问
API方法:files.upload
,文件ID作为参数。
下一步,您需要构建从链接到网站的直接图像链接/文件的files.upload
属性。
您从files.sharedPublicURL
获得的网站链接的格式:
files.sharedPublicURL
到图像的直接链接的格式为:
permalink_public
因此,您只需要从permalink_public
中提取https://slack-files.com/{team_id}-{file_id}-{pub_secret}
,就可以构建到图像的直接链接。您可以从文件对象获取其他参数。
最后用https://files.slack.com/files-pri/{team_id}-{file_id}/{filename}?pub_secret={pub_secret}
或pub_secret
的图像URL编写消息,然后使用您选择的方法提交。
API方法:permalink_public
或任何其他发送消息的方法,包括传入的Webhooks。
[如果您需要坚持注释中出现的webhook,并且无法访问Slack API,建议您将图像上传到图像托管服务商(例如Imgur),然后使用方法B。
另请参见