-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API経由でSlackへカスタム絵文字を追加できないか調査したときのメモ #16
Comments
@yamamoto-yuta
seleniumなどのブラウザ自動化ライブラリで ↓ 現在は自分のリポジトリはpublicですが、今後privateになる可能性があるのでコード直書きします ↓
https://github.com/petite-etoile/LineStampSlackBot/pull/6 |
@petite-etoile |
やりたいこと
Slack API 経由で Slack へ絵文字を追加したい
調べたこと
方針1: Slack API の admin.emoji.add を利用する
公式で用意されている絵文字追加用 API。
ただし、結局この API は使えなかった。理由はこの API を利用するには Slack App に
admin.teams:write
という権限を付与する必要があったから。これには次の問題があったので今回は方針を変更することにした:
方針2: 一般公開されていない API /api/emoji.add を利用する
どうやら Slack には一般公開されていない API がいくつかあるらしく、その中の一つである
/api/emoji.add
を利用すれば絵文字の追加が可能らしい:この API を利用しているプロダクトがいくつかあるようだったので、それらを参考に API を叩いてみた。 API を叩く手順は次の通り。
/api/emoji.add API を叩く手順
1. トークンを入手する
xoxc-xxxxxxxxxx
といった形式のトークンが返ってくるはず。2. Cookie を入手する
https://<TEAM_ID>.slack.com/customize/emoji
を開く(ワークスペースを開いた状態で「以下をカスタマイズ」をクリックすると飛べる)emoji
というドキュメントを選択するcookie:
の値が入手したい Cookie (この値をコピーするとき、「右クリック > 『値をコピー』」だとコピー後の文字列に日本語が混じって後で困るので、範囲選択でコピーする必要がある)3. API を叩く
API を叩くコード:
次のレスポンスが返ってきていれば成功:
残る課題
余談
/api/emoji.add
の xoxb トークンでの利用について/api/emoji.add
を xoxb トークンで利用できるよう求める Issue が2019年1月に建てられているが、2023年5月現在、まだ Open なままである。xoxc トークンをスクレイピングで入手する
https://<TEAM_ID>.slack.com/customize/emoji
ページをスクレイピングすることで xoxc トークンを入手している例を紹介している 記事 を見つけた。しかし、やってみたがうまくいかなかった(
api_token:
の値が""
だった)。やってみた当時はまだトークンや Cookie の入手などが手探りの状態だったので、それが原因でうまくいかなかったのかも…?参考
The text was updated successfully, but these errors were encountered: