2024-05-13 01:42:03 发布
网友
如何使用python API将文件从本地计算机发送到hipchat?我目前正在使用Hypchat,但它没有很好的文档记录。在
Hypchat
以下是我目前为止的代码:
import hypchat hc = hypchat.HypChat("myKey") room = hc.get_room('bigRoom')
我不知道该怎么办。我尝试了其他方法,如this一个,但始终收到错误:
此代码允许我向hipchat聊天室发送任何文件:
# do this: # pip install requests_toolbelt from os import path from sys import exit, stderr from requests import post from requests_toolbelt import MultipartEncoder class MultipartRelatedEncoder(MultipartEncoder): """A multipart/related encoder""" @property def content_type(self): return str('multipart/related; boundary={0}'.format(self.boundary_value)) def _iter_fields(self): # change content-disposition from form-data to attachment for field in super(MultipartRelatedEncoder, self)._iter_fields(): content_type = field.headers['Content-Type'] field.make_multipart(content_disposition = 'attachment', content_type = content_type) yield field def hipchat_file(token, room, filepath, host='api.hipchat.com'): if not path.isfile(filepath): raise ValueError("File '{0}' does not exist".format(filepath)) url = "https://{0}/v2/room/{1}/share/file".format(host, room) headers = {'Content-type': 'multipart/related; boundary=boundary123456'} headers['Authorization'] = "Bearer " + token m = MultipartRelatedEncoder(fields={'metadata' : (None, '', 'application/json; charset=UTF-8'), 'file' : (path.basename(filepath), open(filepath, 'rb'), 'text/csv')}) headers['Content-type'] = m.content_type r = post(url, data=m, headers=headers) if __name__ == '__main__: my_token = <my token> my_room = <room name> my_file = <filepath> try: hipchat_file(my_token, my_room, my_file) except Exception as e: msg = "[ERROR] HipChat file failed: '{0}'".format(e) print(msg, file=stderr) exit(1)
大声喊着@Martijn Pieters
此代码允许我向hipchat聊天室发送任何文件:
大声喊着@Martijn Pieters
相关问题 更多 >
编程相关推荐