Slack 发送附件返回 500 错误

Slack send attachment returning 500 error

我正在尝试将附件发送到 Slack 网络挂钩。

我已按照 API 文档进行操作,可以发送一条简单的消息。当我尝试发送附件时出现 500 错误,我认为我的负载有问题,但我无法解决这个问题。

如何成功获取 post 的附件?

import slackweb

slack = slackweb.Slack(url='WEB HOOK URL HERE')

slack.notify(text="Maguro is a sushi")

attachments = []
attachment = {
    "attachments": [
        {
            "fallback": "Required plain-text summary of the attachment.",
            "color": "#36a64f",
            "pretext": "Optional text that appears above the attachment block",
            "author_name": "Bobby Tables",
            "author_link": "http://flickr.com/bobby/",
            "author_icon": "http://flickr.com/icons/bobby.jpg",
            "title": "Slack API Documentation",
            "title_link": "https://api.slack.com/",
            "text": "Optional text that appears within the attachment",
            "fields": [
                {
                    "title": "Priority",
                    "value": "High",
                    "short": False
                }
            ],
            "image_url": "http://my-website.com/path/to/image.jpg",
            "thumb_url": "http://example.com/path/to/thumb.png",
            "footer": "Slack API",
            "footer_icon": "https://platform.slack-edge.com/img/default_application_icon.png",
            "ts": 123456789
        }
    ]
}

attachments.append(attachment)
slack.notify(attachments=attachments)

您在带附件的 Slack 消息中缺少两个必填字段:textchannel。您还需要将 short 字段的值小写为 false

See the corrected message here in Slack's message tester:

{
    "text": "You need this field",
    "channel": "C########",
    "attachments": [
        {
            "fallback": "Required plain-text summary of the attachment.",
            "color": "#36a64f",
            "pretext": "Optional text that appears above the attachment block",
            "author_name": "Bobby Tables",
            "author_link": "http://flickr.com/bobby/",
            "author_icon": "http://flickr.com/icons/bobby.jpg",
            "title": "Slack API Documentation",
            "title_link": "https://api.slack.com/",
            "text": "Optional text that appears within the attachment",
            "fields": [
                {
                    "title": "Priority",
                    "value": "High",
                    "short": false
                }
            ],
            "image_url": "http://my-website.com/path/to/image.jpg",
            "thumb_url": "http://example.com/path/to/thumb.png",
            "footer": "Slack API",
            "footer_icon": "https://platform.slack-edge.com/img/default_application_icon.png",
            "ts": 123456789
        }
    ]
}

创建一个包含这两个字段和您的 attachments 变量的 JSON 结构,您应该可以开始了。