ツイート
2020.05.25
当サイトのSlack分室実験中2、チャンネル履歴中のUser名を正しく表示する(User ID→real_name変換)
前回↓の続き
↓#generalチャンネルの最新の書き込み5つ。(Slack API, Javascript, perlで1分おきにチャンネルのHistoryが更新され表示されます)
参加リンク↓
usepocket.slack.com参加リンク
参加者は誰でも好きにチャンネル作れるっぽい。参加リンク作成時に権限設定も可能みたい。Slackってみんなどんな感じで運用してるんだ?
★User IDからUser Nameを得る方法
上記で読み出せるチャンネルの履歴だとUser名は<@[ユーザーID]>という形式で取得されるのでユーザー名を表示させるにはユーザーIDをUser名に変換する必要がある。
(1)作ったアプリのPermissionに「users:read」を加える。
すると、俺のUser ID「U011ESDMJMN」を下記のように叩くと
https://slack.com/api/users.info?token=xxxxx&user=U011ESDMJMN&pretty=1
---------------------------------------
{
"ok": true,
"user": {
"id": "U011ESDMJMN",
"team_id": "T011ESDMJGG",
"name": "fetuin070",
"deleted": false,
"color": "9f69e7",
"real_name": "fetuin",
"tz": "Asia\/Tokyo",
"tz_label": "Japan Standard Time",
"tz_offset": 32400,
"profile": {
"title": "",
"phone": "",
"skype": "",
"real_name": "fetuin",
"real_name_normalized": "fetuin",
"display_name": "",
"display_name_normalized": "",
"status_text": "",
"status_emoji": "",
"status_expiration": 0,
"avatar_hash": "gb8929017965",
"first_name": "fetuin",
"last_name": "",
"image_24": "https:\/\/secure.gravatar.com\/avatar\/b8929017965dbf3d3d79f65f0f8f3661.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png",
"image_32": "https:\/\/secure.gravatar.com\/avatar\/b8929017965dbf3d3d79f65f0f8f3661.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png",
"image_48": "https:\/\/secure.gravatar.com\/avatar\/b8929017965dbf3d3d79f65f0f8f3661.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png",
"image_72": "https:\/\/secure.gravatar.com\/avatar\/b8929017965dbf3d3d79f65f0f8f3661.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png",
"image_192": "https:\/\/secure.gravatar.com\/avatar\/b8929017965dbf3d3d79f65f0f8f3661.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png",
"image_512": "https:\/\/secure.gravatar.com\/avatar\/b8929017965dbf3d3d79f65f0f8f3661.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png",
"status_text_canonical": "",
"team": "T011ESDMJGG"
},
"is_admin": true,
"is_owner": true,
"is_primary_owner": true,
"is_restricted": false,
"is_ultra_restricted": false,
"is_bot": false,
"is_app_user": false,
"updated": 1589456104
}
}
---------------------------------------
のようにreal_nameとして取得出来る。
これスマホアプリとかだとアプリ側でキャッシュしろって事か?面倒だな。
プロフィールの画像へのリンクも各種サイズ揃っていて取得出来るけどリンク先はhttpsなので、うちのサイトのようにhttpのサイトで表示させるとブラウザが気を利かせて直接は表示出来ないみたい。
ここで↓テスト出来る。
https://api.slack.com/methods/users.info/test
同様にチャンネルに投稿された画像の直接リンク先も取得出来るけど置き場所がhttpsなので利用出来ない。う〜ん、うちのサイトもhttps化させるか・・・・・
Category:usePocket運営関連
コメント
この記事のアクセス数:→カテゴリー:usePocket運営関連(記事数:129)
アクセス数の多い記事(過去1ヶ月)
Java
アプリ