How to upload file using Slack API as user?(如何以用户身份使用Slack API上传文件?)
本文介绍了如何以用户身份使用Slack API上传文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目前,通过files.upload上传文件时使用的令牌与我的Slack用户帐户关联。因此,使用此令牌执行的任何上载似乎都是由我执行的。
但是,我希望指定类似as_user(在使用chat.PostMessage时可用)的内容,这将使上传看起来像是由指定的Slack用户上传的。这可能吗?
我有这个:
upload_file(filepath='/path/to/file.jpg',
channels='#uploads',
title='my image',
initial_comment='pls give me some feedback!')
下面是要调用的函数:
import os
import requests
TOKEN = your_token_here
def upload_file(
filepath,
channels,
filename=None,
content=None,
title=None,
initial_comment=None):
"""Upload file to channel
Note:
URLs can be constructed from:
https://api.slack.com/methods/files.upload/test
"""
if filename is None:
filename = os.path.basename(filepath)
data = {}
data['token'] = TOKEN
data['file'] = filepath
data['filename'] = filename
data['channels'] = channels
if content is not None:
data['content'] = content
if title is not None:
data['title'] = title
if initial_comment is not None:
data['initial_comment'] = initial_comment
filepath = data['file']
files = {
'file': (filepath, open(filepath, 'rb'), 'image/jpg', {
'Expires': '0'
})
}
data['media'] = files
response = requests.post(
url='https://slack.com/api/files.upload',
data=data,
headers={'Accept': 'application/json'},
files=files)
return response.text
我确实找到了this existing question,但我根本找不到关于可以执行哪些操作的明确答案。
推荐答案
接口没有as_user上传分享选项。如果您希望通过files.upload以不同用户身份将文件上载到Slack频道,您有两个选择:
- 创建bot user并使用该机器人用户的访问令牌
- 为此创建新的Slack用户(例如"slackadmin")并使用 要上载文件用户的令牌。
您可以通过自定义或作为Slack应用程序的一部分创建机器人用户。
这篇关于如何以用户身份使用Slack API上传文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何以用户身份使用Slack API上传文件?
基础教程推荐
猜你喜欢
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 包装空间模型 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
