GoogleChromeの新規タブにRSSの記事を流す拡張機能作りました!
作成した背景
- テックブログの情報を効率よく取得したい
- RSSリーダーアプリだとそのリーダーアプリすら開かなくなる問題
- chromeの新規タブにするとブラウジングするだけで勝手に情報が入ってくるからいいかも
仕組み
- SlackとRSSのアプリを連携し、RSSフィードを指定したチャンネルに流して、そのチャンネル情報の中身をSlackAPIで取得してchromeの新規タブに表示しています
使い方
事前に用意するもの
- RSSを配信するSlackのチャンネルID
- チャンネルIDを確認する方法
- https://app.slack.com/client/T01JCRTD5JR/C01J95JSG4E
- Web版のSlackにアクセスし、対象チャンネルを開くとURLにのパスにチャンネルIDがあります
https://app.slack.com/client/{ワークスペースのID}/{チャンネルID}
- RSS配信用のワークスペースを新たに作成するのがおすすめです
- チャンネルIDを確認する方法
- SlackAPIのアクセストークン
- チャンネル内のメッセージを取得する権限付きのトークンを取得してください
- 取得方法
- 1 https://api.slack.com/apps にアクセス
- 2
Create New Appボタンをクリック - 3
App Nameを入力(なんでもよい) - 4
Development Slack Workspaceに先ほど作ったワークスペースを選択 - 5
Create Appで作成する - 6 https://api.slack.com/apps へアクセス
- 7
5で作ったAppをクリック - 8
Add features and functionality->Permissions->Scopes->Bot Token Scopes->Add an Oauth Scopeからchannels:historyを選択 - 9 https://api.slack.com/apps へアクセス
- 10
5で作ったAppをクリック - 11
Basic Information->Install your app->Install to workspaceボタンをクリック ->Allowで許可する - 12 https://api.slack.com/apps へアクセス
- 13
5で作ったAppをクリック - 14
Add features and functionality->Permissions->Bot User OAuth Access Tokenをコピーする
- 取得方法
- チャンネル内のメッセージを取得する権限付きのトークンを取得してください
手順
- RSS APPを追加
- https://{ワークスペース名}.slack.com/apps/A0F81R7U7-rss
-
Add to Slackで追加 -
Add RSS integrationよりRSSを登録する
- 配信したいチャンネルに
RSS APPを連携(追加)する- Slackのチャンネル内から
アプリを連携させる(slackの言語設定が日本語の場合) リンク より事前に用意するものの5で作成したAppを連携(追加)する
- Slackのチャンネル内から
-
下記URLでチャンネル内のメッセージ一覧が取得できたらOKです
https://slack.com/api/conversations.history?token=SlackAPIのアクセストークン&channel=チャンネルID&pretty=1
-
拡張機能の画面より
Token,Channelを入力して接続する
コメント
- SlackがRSSを更新(チャンネルにフィードを流す)するのはリアルタイムでないためタイムラグは発生します
- OSS
- https://github.com/ryy/slack-rss-reader
- テック系企業のRSSフィード一覧
