Feedlyで購読してるブログの新着通知をTwitterに流すようにした

やわなべです。

お気に入りのブログの更新通知をどうチェックするかは、なかなか悩ましい問題です。

私はIFTTT(イフト)という、各種サービスのAPIの橋渡しをするサービスにひとつひとつブログのRSSフィードを登録して、それをtwitterのbotに流す仕組みを作ってます。以前に記事にも書きました。

やってることを図にすると、

こうなんですが、購読するフィードをいちいちIFTTTのレシピとして書かないといけないのが面倒だったんですよね。

本当はfeedlyが購読している全フィードの通知をひとつのRSSとして配信してくれたら、ひとつのレシピで済むんですが、それをするにはfeedlyの有料アカウントが必要です(それも上の記事に書いた)

なので、今回Feedlyの全フィードの新着をチェックするという部分を自作したというわけです。

スポンサーリンク

FeedlyAPIで全フィード通知を実現させる

新しい仕組みを絵にするとこうです。

ss39485.png

今回作ったのは左の「プログラム」の部分で、やってることは、

1. FeedlyのAPIを使って、購読中のフィードの新着記事を取得
2. それをRSSで出力

これだけ。これまでどおりIFTTTを使ってTwitterに流すところは変わりませんが、新しく購読したいブログが出てきた時に、これまでIFTTTのレシピを一個一個書く代わりにFeedlyに登録するだけでよくなったので、とても楽になりました。Feedly上の通知は全部未読のままです。

てか、ここまでできれば、何もIFTTTをはさむ必要はなくて、

ss39479.png

こんな感じで直接Twitterに投稿させることもできるんですが、この場合、プログラムをタイマー実行させる必要があるんで、上の方法を採用しました。(IFTTTをかませる形だと、IFTTTから問い合わせがあった時だけRSSを作りなおして返せばいいので自動実行させる必要がない)

それ、プログラムでできるよ

記事としては、以下、コードをまじえながら詳しいやり方を書くべきなんでしょうkど、IFTTTでこれを実現するのにFeedlyの有料アカウントが必要ってことは、この部分ってFeedlyが飯の種のひとつにしてる付加価値の部分なんで、「それ、サーバとプログラムあればできるよ」という示唆にとどめることにします。使えない情報で申し訳ないです。

といっても、私ができるくらいなんで、webプログラミングに心得のある方なら、さほど難しい仕事ではないと思います。一番の難所は(他のAPIでもそうですが)、FeedlyのAPI認証まわり。

Feedly APIメモ – Qiita

ここのサイトにアクセスするためのトークンというものを取得する手順が書いてありますが、厄介なのはその有効期限が1時間と短いこと

有効期限の切れたトークンを自動で更新する部分が構築できれば、あとは簡単な手順で情報が取得できます。

Twitterに通知させたいブログはFeedlyの管理画面でひとつのカテゴリにまとめておいて、「stream」を取得するAPIでそのカテゴリIDを指定すれば、新しいものから取ってきてくれますよ。

Streams | feedly Cloud API