Python 松弛空气污染指数“;附件「;不显示

Python 松弛空气污染指数“;附件「;不显示,python,slack-api,Python,Slack Api,附件在以下代码中不起作用,响应类型也没有按应有的方式显示。我也尝试过使用Python的Slack客户端,但同样的情况也在发生 def send_message(channel_id, text): params = { "token" : token, "username" : "NEW BOT", "channel" : channel_id, "text" : text, "response_type"

附件在以下代码中不起作用,
响应类型
也没有按应有的方式显示。我也尝试过使用Python的Slack客户端,但同样的情况也在发生

def send_message(channel_id, text):
    params = {
        "token" : token, 
        "username" : "NEW BOT",
        "channel" : channel_id,
        "text" : text,
        "response_type": "ephemeral",
        "attachments": [{ "text":"This is some text" }]
    }

    headers = {'content-type': 'application/json'}
    slack_api = 'https://slack.com/api/chat.postMessage'
    requests.get(slack_api, json=params, headers=headers)
    return

@app.route('/', methods=['GET', 'POST'])
def main():
    if sc.rtm_connect():
        sc.rtm_read()
        text = request.args.get("text")
        channel_id = request.args.get("channel_id")
        send_message(channel_id, text)
        return Response(), 200

只有在响应斜杠命令或消息按钮操作调用生成消息时,才能设置
response\u type
字段。不能直接使用
chat.postMessage
进行设置,因为目标用户上没有显示该短暂消息的上下文

chat.postMessage
的另一个怪癖是它目前不像传入的Webhook那样接受JSON。相反,您需要发送
应用程序/x-www-form-urlencoded
变体的POST参数。更奇怪的是,
attachments
字段实际上不是作为JSON字符串发送的,而是编码到参数中的URL


还有一个提示,使用
chat.postMessage
和其他写入方法,您应该使用HTTP POST而不是GET。

只有在响应斜杠命令或消息按钮操作调用生成消息时,才能设置
响应类型
字段。不能直接使用
chat.postMessage
进行设置,因为目标用户上没有显示该短暂消息的上下文

attachments='[{"title": "Try these - ","text": " Text ", "mrkdwn_in":["text"]}]'
chat.postMessage
的另一个怪癖是它目前不像传入的Webhook那样接受JSON。相反,您需要发送
应用程序/x-www-form-urlencoded
变体的POST参数。更奇怪的是,
attachments
字段实际上不是作为JSON字符串发送的,而是编码到参数中的URL

还有一个技巧,使用
chat.postMessage
和其他写入方法,您应该使用HTTPPOST而不是GET

attachments='[{"title": "Try these - ","text": " Text ", "mrkdwn_in":["text"]}]'
将标题添加到附件中。在我的情况下是有效的


将标题添加到附件中。它在我的例子中起了作用。

“更奇怪的是,附件字段实际上是作为JSON字符串发送的,但URL编码为参数。”。谢谢这是一个痛苦的发现。伟大的职位!对于所有想要快速而肮脏答案的人,请尝试将
“附件”:[{“标题”:“我的标题”,“文本”:“我的文本”,…}]
替换为
“附件”:json.dumps([{“标题”:“我的标题”,“文本”:“我的文本”,…}])
Holy****。我已经找了很久了。谢谢事实上,这也发生在我身上。附件必须是JSON字符串才能工作。例如,
'[{“text”:“hello”}]
而不是
[{“text”:“hello”}]
“更奇怪的是,附件字段实际上是作为JSON字符串发送的,但URL编码为参数。”。谢谢这是一个痛苦的发现。伟大的职位!对于所有想要快速而肮脏答案的人,请尝试将
“附件”:[{“标题”:“我的标题”,“文本”:“我的文本”,…}]
替换为
“附件”:json.dumps([{“标题”:“我的标题”,“文本”:“我的文本”,…}])
Holy****。我已经找了很久了。谢谢事实上,这也发生在我身上。附件必须是JSON字符串才能工作。例如,
'[{“text”:“hello”}]
而不是
[{“text”:“hello”}]