Python 使用slackclient 2.x上载文件
我正在使用从Python 使用slackclient 2.x上载文件,python,slack-api,Python,Slack Api,我正在使用从slackclient1.3.1升级到2.9.3 在我使用此功能之前: def upload_file(self, file, filename, title, channel): return self.slack_client.api_call( "files.upload", channels=channel, filename=filename,
slackclient
1.3.1
升级到2.9.3
在我使用此功能之前:
def upload_file(self, file, filename, title, channel):
return self.slack_client.api_call(
"files.upload",
channels=channel,
filename=filename,
title=title,
file=file)
我尝试迁移到:
def upload_file(self, file, filename, title, channel):
return self.web_client.api_call(
"files.upload",
json={'channels': channel,
'filename': filename,
'title': title,
'file': file})
函数的调用方式如下:
with open("/vm-root/app/" + log, 'rb') as f:
instance.upload_file(f, log, log, channel)
然而,我得到:
“BufferedReader”类型的对象不可JSON序列化
我猜这与我传递
文件
参数的方式有关。我应该怎么做?解决了,参数错误:
def upload_file(self, file, filename, title, channel):
return self.web_client.api_call(
"files.upload",
files={'file': file},
data={'channels': channel,
'filename': filename,
'title': title})