【发布时间】:2019-01-17 09:53:35
【问题描述】:
我正在尝试创建一个 slack 命令,该命令接受参数、生成图像并返回并将图像返回给用户,并且图像上传应该显示为机器人用户。
我关注这个帖子:Can you upload a file to the Slack API using files.upload as a different user?
我尝试创建slack app,根据它创建一个bot用户,slack文件上传api如下:
def send_picture(channel_id, graph_details):
sender_token = "xoxb-..." # bot-user token
pic = {
'file' : ('img.png', open('img.png', 'rb'), 'png')
}
payload={
"title" : "Serverless App Report",
"channels" : [channel_id]
}
r = requests.post("https://slack.com/api/files.upload", params=payload, files=pic)
每当用户执行 slack 命令(带参数的 POST)时,我可以解析 channel_id 以找出发送者并将其传递到 channel_id 到文件上传 api 中。
将其发布到公共频道可以正常工作。但是将其发回给执行该命令的用户失败并出现错误:{"ok":false,"error":"invalid_channel","channel":"DXXXXXXX"}
【问题讨论】: