Python
api
JSON
Slack
Pepper

PythonでSlackに画像をアップロードする方法


Pythonでファイルをアップロード

slackのfiles.uploadAPIを使って、画像をアップロードします。

import requests

files = {'file': open(filePath, 'rb')}
param = {'token':accessToken, 'channels':channelId}
res = requests.post(url="https://slack.com/api/files.upload",params=param, files=files)

slackに投稿できる項目はいくつかあり、上記は最低限にしています。

ファイル名や、文章なども指定できます。

各種パラメータは以下で確認が可能です。

https://api.slack.com/methods/files.upload/test

accessTokenもこちらで確認できます。

channelsは、channel名ではなく、別途IDを調べる必要があるので注意してください。

https://api.slack.com/methods/channels.list/test

上記で確認が可能です。

Test Method というボタンを押すと画面下部にJSONで以下のような返却があると思います。

idという部分になります。

{

"id": "C51JZCCUA",
"name": "iot",
"is_channel": true,
"created": 1492640603,
"creator": "U45GBV6C8",
"is_archived": false,
"is_general": false,
"unlinked": 0,
...
}


使い道

これでpepperで撮った画像をslackで通知して誰かきた時などにも、通知がいくようにできますね。