我究竟做错了什么?到目前为止,示例Markdown链接都无法在我的Slack应用中正常工作。
我在Slack应用的聊天中粘贴了以下示例。我从Slack Markdown语法中得到了这个示例,它在Slack App中仍然将其视为文字文本:
[like this](http://someurl)
因此我最终在Slack聊天中看到的不仅仅是链接“像这样”。
还是上面的说法是错误的,在这种情况下,我的问题将是如何在Slack中显式创建链接?我希望我指定的一些文本可单击到特定的URL(超链接)。
我究竟做错了什么?到目前为止,示例Markdown链接都无法在我的Slack应用中正常工作。
我在Slack应用的聊天中粘贴了以下示例。我从Slack Markdown语法中得到了这个示例,它在Slack App中仍然将其视为文字文本:
[like this](http://someurl)
因此我最终在Slack聊天中看到的不仅仅是链接“像这样”。
还是上面的说法是错误的,在这种情况下,我的问题将是如何在Slack中显式创建链接?我希望我指定的一些文本可单击到特定的URL(超链接)。
Answers:
Slack当前不支持超链接。看到以下链接:
注意:无法在Slack消息中超链接单词。
更新:
Slack终于在其聊天界面(源)中添加了此功能:
- 选择文本,然后单击格式工具栏中的链接图标
- 选择文本,然后按
Cmd+Shift+UMac或Ctrl+Shift+UWindows / Linux上。复制您要共享的链接,并将其粘贴到“ 链接”下的空白字段中,然后单击“ 保存”。
slack-api这不支持超链接的文本。
Array在频道中收到消息。请参阅此处的示例:api.slack.com/messaging/composed/formatting#linking-urls
Slack使用自己的降价方式:
Slack Markdown链接的工作方式如下:<http://someurl|like this>
注意:您只能通过Slack API来执行此操作,而不仅仅是通过Slack客户端发送的简单消息。
对于直接消息,Slack尚不支持此功能,您只能使用Slack API进行此操作。但是您可以在这里提交我提出的功能请求。
截至今天,2020年2月14日的,在一个滞缓情况下的我是成员,我可以创建/粘贴链接!🎉
从复制团队会议信息到Slack中粘贴超链接的示例:
Slack更新了他们的文档。😢仍然没有降价的方法,即 [blah](https://stackoverflow.com)不起作用。
整洁的功能,当URL在剪贴板上并创建超链接时,选择一些文本和CTRL + V
通过一些逆向工程,我能够通过C#将文本放在Windows剪贴板上,并将其粘贴到Slack中:
var textToDisplay = "Test";
var url = "https://stackoverflow.com";
var arbitraryText = "Mike D.";
var dataObject = new DataObject();
//to my surprise, the Fragment comments ARE required
dataObject.SetData(DataFormats.Html, @$"<html><body>
<!--StartFragment-->
<a href=""{url}"">{textToDisplay}</a>
<!--EndFragment-->
</body></html>");
//have to set the Text format too otherwise it won't work
dataObject.SetData(DataFormats.Text, arbitraryText);
Clipboard.SetDataObject(dataObject);
Reuben的答案可以用,但看起来像是无标题的文件上传,如下所示:无标题的文件发布到Slack。但是,只需稍作修改,您就可以轻松地发布具有正常工作的超链接的自然外观消息,如您在此处看到的:通过使用chat.postMessage Slack api方法而不是“ files.upload”并采用Slack的方法,自然看起来带有超链接的Slack帖子。自己的消息格式,而不是Markdown。可以这样做:
curl -F text="*<https://someurl|like this>*" -F as_user=true -F link_names=true -F channel=C1.....7L -F token=xoxp-... https://slack.com/api/chat.postMessage
该link_names=true参数在此示例中未使用,但对于能够@提及用户和#引用频道很有用。
直接在markdown文本中包含URL ,服务器会将其自动转换为链接。
这样写。(只有使用Slack API才能工作。Slackbots / Slack应用程序)
<http://www.example.com|This message *is* a link>
参考:https : //api.slack.com/messaging/composed/formatting#linking-urls
作为Slack消息的替代方法(在Wilhem的答案中发现),您可以通过API创建Slack帖子,并至少使用一些Markdown。这些都创建<h2><a href="https://someurl">like this</a></h2>:
curl -F filetype=post -F content="# [like this](https://someurl)" -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload
或交换content="..."为file=@post.md
curl -F filetype=post -F file=@post.md -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload
这是使用files.upload。我认为尝试以自己的方式发布的最简单方法是使用旧令牌。从通道的URI获取通道ID。
派对晚了,但我最近发现您可以使用URL缩短器创建一个https链接,然后可以使用markdown链接进行引用。