皆さん、ブログなどを見るときに、RSSリーダー、使ってますか?
購読したいサイトのRSSを登録しておいて、新着記事が来たらRSSリーダー内の一覧に表示し、記事を読んでいく、
情報収集ツールとして欠かせないツールですよね。
でも、張り切ってたくさんのサイトのRSSを登録しちゃうと、いつの間にか未読が数十件、数百件と積み上がって、
これ以上読みきれない!!って状態になったことありませんか?ありますよね!?
作ったもの
Googleスプレッドシート & Google Apps ScriptでRSSフィードを一覧化する処理を作りました。
GitHubで公開しています。
github.com
こんな感じで表形式で一覧で見れます。チェックボックスをつけて、不要なものはフィルターで非表示にしていきます。
毎日RSSフィードを取得して、表の下に追記していく仕組みです。
Google Apps ScriptはWebアプリケーションも作成できます。現時点ではただタイトルとURLを並べただけ。
上記画像ですが、Google Cloudブログ様のRSSを元に作成しております。いつも楽しく読んでます。みなさんもぜひご購読ください。 cloud.google.com
使い方
Claspの導入
GASのコードですが、GitHubに公開するにあたって、ClaspというGoogle謹製のCLIツールを使っています。
Clasp環境ない場合でも、GitHubのソースをコピペして自分のGASプロジェクトに貼れば使えますが、
以下のQiitaの手順に従って環境構築してみてください。
qiita.com
Claspの環境構築ができたら、自分のGoogleスプレッドシートからGASのプロジェクトを作成してスクリプトIDを確認します。
Git Clone
下記リポジトリをgit cloneしてください。 github.com
GASプロジェクトへのソースの反映
git cloneしたディレクトリで作業します。
スクリプトIDを元にclasp clone
します。
もともとあるコード.js
はいらないので削除します。
削除したらそのまま clasp push
します。
$ clasp clone [YOUR_SCRIPT_ID] Cloned 2 files. └─ appsscript.json └─ コード.js $ rm コード.js $ clasp push
ブラウザでGASプロジェクトをリロードして確認してみましょう。無事ソースが反映されているはずです。
RSSの設定
スプレッドシートに「target」というシートを作成し、以下のように、A列にタイトル、B列にRSSのURLを貼ってください。
ここにある値をスクリプトが読み込んで、自動で処理してくれます。
スクリプトの手動実行
main.gs
を選択した状態で、実行をしてみてください。最初は諸々承認が聞かれると思いますので、全て許可をしてください。
成功すると、シートが作成され、RSSフィードを取得し、セルにデータが入力されます。
定期実行
GASの左側のメニューから、トリガーを選択
以下のように、main関数を日次で実行するように設定ができます。
これで毎朝スプレッドシートに、RSSフィードのデータを追記してくれるようになります。
おまけ Webアプリケーションとしてデプロイ
スプレッドシートなので、表で見るのが目的なのですが、一応Webアプリケーションとしてもデプロイができます。
GASの画面の右上の、デプロイ > 新しいデプロイを選択し、
種類の選択を問われるので、Webアプリを選択、
説明、実行ユーザ、公開設定を入力し、デプロイします。
URLが表示されるので、そこにアクセスしましょう。無事スプレッドシートのデータを元にWeb画面が表示されるのが確認できます。
Webアプリケーションの方は現時点ではただ文字とURLだけですが、機会があればもっとリッチにしてGitHubに公開しようと思います。
まとめと今後の展望
以上、GASを使ってRSSフィードをGoogleスプレッドシートに出力するツールを作ったので簡単に紹介しました。
GASのWebアプリケーションの作成はお手軽で楽しいので、ツールづくりにこれからも活用していきたいです。
claspは便利です。QiitaにClaspの環境構築を公開していますが、本ブログでももっと整理して公開しようと思っています。
データがある程度溜まったら、タイトルとかdescriptionを元に、自分が興味ありそうかなさそうか自動判定してくれる仕組みとかも作りたいなと思いました。