はじめに
Slackの日本語化し,設定項目も色々変わっている.
Outgoing Webhooksで取得できる user_name
は,Slackアプリ上の設定項目には無い.
では,どこにあるのか.
user_nameとは
以前はどこに
かつて,日本語化する前の設定項目には,「氏名」「表示名」の代わりに「Full Name」と「username」があったと記憶している.(Full Nameは,姓・名でフォームが分かれていた)
おそらく,設定項目がわかりにくいなどといった判断がされたのだろう,メンションなどに使われる名前は「表示名(任意入力)」となった.
いまの場所
現在では,変更場所はWeb上へと移った.
Web上でプロフィールを編集するページに移っている.
赤枠をクリックした時に開かれるWebページの一番下にある.
(閉じられていくので「開く」を押すと展開される)
ここで確認・変更が可能になっている.
この場所でしか変更できないようになっている.
なので, Outgoing Webhooksなどで取得できる user_name
を変更したい場合は,ここを編集しなければ変更されない.
Slackアプリ上のプロフィールで,氏名や表示名をいくら変更しても変わらないのだ.
ユーザー名のデフォルト設定
ユーザー名の仕様が追加される前からあるワークスペースの場合,おそらく当時の「username」がそのまま使われているはずだ.
一方,この機能が実装された後にワークスペースを建てた(新しくチームを作った)場合,「メールアドレスの@より前」の文字列が使われている模様.
そのため,人によっては,Slack上の表示名と全く関係のないものになっているかもしれない.
が,特段気にする必要はないだろうと思う.(普段見えないし)
たとえば,自分のSlackチームのAPIなどを使っている人から変更するよう言われたりだとか,ユーザー名も統一しとかないと気になる人だとか,変更する人はそのくらいだろう(僕は後者だった)
APIを使う上でどうすればいいのか
それで,実際にAPIを使用するとき,ユーザー名をそのまま使用すると表示名と関係ない名前になってしまう可能性がある.
それでも問題ない場合はいいのだが,チームの人も閲覧するだとかで表示名との統一をしなければいけないときはそうも言ってられない.
ユーザーID(ユーザーごとにユニークで振られる英数字)は変わらないので,それを使ってメンバー一覧APIなどから取得するのが一番整合性が取れる方法だろう.
上のSlackアプリ内のスクショで黒塗りしてある場所が,自分のユーザーIDとなる.チーム全員の情報が欲しい場合は,メンバー一覧API( users.info
)を叩けば取得できる.