Slack Custom Emoji を追加する非公開 API /api/emoji.add

Slack には Custom Emoji を追加する API endpoint があるか調べてみたところ /api/emoji.add を見つけましたが、一般公開されていないようでした。

slack

背景

https://your.slack.com/admin/settings#customization から Custom Emoji のパーミッションを設定できるのですが Guest へも許可することができなかったので「Slack API 経由で Custom Emoji を追加できないか?」と思い、調べることにしました。

Custom Emoji Permission | Slack

Slack API /api/emoji.add

/api/emoji.add は一般公開されてない API

API /api/emoji.add を xoxb token での利用許可を求める GitHub issue が open な状態でした。

Types of tokens | Slack

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 を追加したい、現場からお送りしました。