ChatWork に画像をアップロード in Python


ChatWork にファイルをアップロードする API がリリースされていたので使ってみました。

Requirement

  • anaconda3-5.2.0(Python 3.6.5)

Program

import requests

END_POINT = 'https://api.chatwork.com/v2/'
API_TOKEN = 'your api token'


def post_jpeg(room_id, file_path, message=''):
    url = '{}rooms/{}/files'.format(END_POINT, room_id)
    jpeg_bin = open(file_path, 'rb')
    headers = {'X-ChatWorkToken': API_TOKEN}
    files = {
        'file': ('kawaii.jpg', jpeg_bin, 'image/jpeg'),
        'message': message,
    }
    request = requests.post(url, headers=headers, files=files)

room_id = 'your room id'
file_path = './hoge.jpg'
message = '正義'
post_jpeg(room_id, file_path, message)

Hint

  • message は必須ではないです。
  • 'image/jpeg' の部分は Content-Type での記述になります、他のファイル形式でも試してみてください。
post_jpeg
files = {'file': ('kawaii.jpg', jpeg_bin, 'image/jpeg')}

Reference