微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用slackclient 2.x上传文件

如何解决使用slackclient 2.x上传文件

我正在使用this guideslackclient 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,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,channel)

但是,我得到了:

“ BufferedReader”类型的对象不可JSON序列化

我猜这与我传递file参数的方式有关。我应该怎么做?

解决方法

解决,参数错误:

    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})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。