Slack Custom Emoji を追加する非公開 API /api/emoji.add
Slack には Custom Emoji を追加する API endpoint があるか調べてみたところ /api/emoji.add を見つけましたが、一般公開されていないようでした。
背景
https://your.slack.com/admin/settings#customization から Custom Emoji のパーミッションを設定できるのですが Guest へも許可することができなかったので「Slack API 経由で Custom Emoji を追加できないか?」と思い、調べることにしました。
Slack API /api/emoji.add
/api/emoji.add は一般公開されてない API
API /api/emoji.add を xoxb token での利用許可を求める GitHub issue が open な状態でした。
xoxs token なら /api/emoji.add API を使える
/api/emoji.add は一般公開されてない API ですが、slack-emojinator のように xoxs token をスクレイピングして利用している実例がありました。
upload.py#L21 · smashwilson/slack-emojinator
xoxs token のスクレイピングは、以下の箇所に実装されている _fetch_api_token method で処理していました。
upload.py#L81-L94 · smashwilson/slack-emojinator
以上、Slack API 経由で Custom Emoji を追加したい、現場からお送りしました。