收藏
回答

企业微信机器人文件上传接口如何调用?postman不会调用,试了很久

回答关注问题邀请回答
收藏

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-08-05

    您好,需要构造HTTP请求包 设置http头部信息进行上传https://work.weixin.qq.com/api/doc/90000/90135/91054#HTTP%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E6%96%B9%E6%B3%95%E7%AE%80%E6%9E%90


    2020-08-05
    有用
    回复 5
    • 橘半
      橘半
      2021-01-14
      可以给个python Demo吗
      2021-01-14
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2021-01-15回复橘半
      目前没有demo,可以先使用postman上传文件,然后查看上传打印的日志类似于这样
      2021-01-15
      回复
    • 橘半
      橘半
      2021-01-18
      POSTMAN你是怎么发请求的可以截下图给我吗?谢谢
      2021-01-18
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2021-01-18回复橘半
      2021-01-18
      回复
    • 道者何也
      道者何也
      2022-01-06
      application/octet-stream 这个要怎么设置在postman上,抓包看了设置的都不对
      2022-01-06
      回复
  • 无山居
    无山居
    2021-04-16

    python的,前面初始化哪些我就不发了,你把自己的参数填上去,print哪些是测试用的,可以删了

        def fileup(self):        
            headers = {
                'Content-Type': 'multipart/form-data',
            }
    
    
            params = (
                ('key',self.params[0][1]) #你那个机器人webhookurl中的key参数
                ('type', 'file')
            )
            
            # 如果之前没有窗口不加这两个root,生成以后会额外多出一个tkinter小窗口
            root = tkinter.Tk()
            root.withdraw()
            filename = filedialog.askopenfilename(initialdir='D:', title="请选择txt\sql文件", filetypes=[("所有文件", "*.*")]                                              
            )
            
            f = open(filename,'rb')
            response = requests.post(url=self.url_upload, headers=headers, params=params, files={'file':f})
            media_id = response.json()['media_id']
            print(response.json())
            print(media_id)
            
            f.close()
            return media_id
        
            
        def filesend(self):           
            msgtype = "file"
            media_id = self.fileup()
            data = {"msgtype": msgtype, "file": {"media_id": media_id}}
            
            response = requests.post(url=self.url_send, headers=self.headers, params=self.params, json=data)
            print(response.json())
            return response
    


    2021-04-16
    有用 1
    回复
登录 后发表内容
问题标签