Qiitaへの投稿をIFTTT経由でFacebookとTwiiterに通知する(初心者向け/詳細手順あり)

Qiitaの投稿を行うときにGistやTwitterに連携させることは可能ですが、同時にFacebookやTwitterなどに連携させる方法をIFTTTを使って実現したのでメモ。

ポイントはQiitaの投稿内容のRSSフィードのURLとIFTTTと各サービスの連携です。
難易度は星1つです。

# Qiitaの投稿のRSSフィード

一般的なブログ等では投稿内容を連携してくれるRSSフィードというものが出力されていて、投稿のたびにこのフィードが自動的に更新されます。これをFeedlyなどのRSSリーダで読んで使うのですが、Qiitaの投稿もブログと同様にRSSフィードを吐いています。
場所はユーザーページのURLの後ろに「feed」をつけるだけです。例えば私のQiitaのホームは

http://qiita.com/mamohacy

ですが、私の投稿のRSSフィードは

http://qiita.com/mamohacy/feed

で吐き出されます（ブラウザで見ることもできる）。このURLをIFTTTに登録して各SNSにポストします。

# IFTTTとは？

名前の由来は「IF This Then That(もし、こうだったら、こうする）」の略で、海外で作成されたAPIマッシュアップサイトです。

![IFTTT](https://lh4.googleusercontent.com/nW6BYQygTX3XDCIASycsbsdokxROC-i5LeYyxECdvDvkESsOMwNX8I7k3tKvw7J2kqkn3CPbjAI8cvcXHMKNYbFMEPdg1JizZXeAUQyDb_-VDiwSxXVDL3vW)

IFTTTを一言で言えば「イベント連携サービス」で、あるWebサービスで起こったイベントを拾って、その発生タイミングで別のWebサービスに処理を繋げる役割です。古くからYahoo!Pipesやtwitterfeedなど似たようなAPIマッシュアップサービスはありましたが、UIがシンプルで非常にわかりやすい点と、レシピと呼ばれる連携のフォーマットがありとあらゆる有名サービスで使えるように整備され、さらにそれを公開できることで一躍この界隈でのトップサービスの座に躍り出ました。

↓IFTTT(https://ifttt.com)
![IFTTT](http://capture.heartrails.com/400x225/cool/shorten?https://ifttt.com/recipes)

使ってみればわかりますが説明などほとんど読む必要がないくらいUIが洗練されていて、これぞ「ユーザーエクスペリエンス」と呼べる代物に仕上がっています。過去ここまで複雑な処理を行えるサービスが、こんなにもシンプルなUIで実現されているところを私は見たことがありません。しかもすごくオシャレ。
ここがIFTTTが人気である理由のひとつなのかもしれません。

↓IFTTのレシピ追加の最初のページ。リンクが「this」にしかない（ここしか押せない）
![スクリーンショット 2016-02-25 13.48.00.png](https://qiita-image-store.s3.amazonaws.com/0/110606/c87ba081-11bc-77ab-3abe-598f5ae8c140.png)

# IFTTTでTwitterと連携

1. ログイン -> My Recipes -> Create a New を選びます。
2. ThisのところをクリックするとChoose Trigger Channelという検索窓が表示されるので、「RSS」と入力します。
3. RSSのアイコンが絞り込まれるのでクリックします。
　
![スクリーンショット 2016-02-25 15.46.02.png](https://qiita-image-store.s3.amazonaws.com/0/110606/52806973-f093-3463-829a-ce63f9912870.png)
　
4. Choose a Triggerで「New Feed item」を選択。これは新しいフィードが検知されたことをイベントとして拾います。
　
![スクリーンショット 2016-02-25 15.47.21.png](https://qiita-image-store.s3.amazonaws.com/0/110606/fca38ec8-3de0-3179-6def-93dd20fdeed6.png)
　
5. Complete Trigger Fieldsで、先のQiitaのRSSフィードのURLを設定して、Create Triggerをクリックします。
　
![スクリーンショット 2016-02-25 15.51.08.png](https://qiita-image-store.s3.amazonaws.com/0/110606/18fd5458-8680-5157-a6ee-7399e2166da3.png)
　
6. 次の画面で「That」をクリックします。
　
![スクリーンショット 2016-02-25 15.52.21.png](https://qiita-image-store.s3.amazonaws.com/0/110606/4255ee6f-5c3c-c0ac-1ed1-6604b492c0a6.png)
　
7. Choose a Action Channelで、連携先の動作を指定します。
　検索窓でTwitterと入力すると、Twitterのアイコンが絞り込まれるのでクリックします。
　
![スクリーンショット 2016-02-25 16.13.05.png](https://qiita-image-store.s3.amazonaws.com/0/110606/f1705bec-f204-1abc-8f21-db82874a0730.png)
　
8. いくつかアクションが表示されるので「Post a tweet」を選択します。
　
![スクリーンショット 2016-02-25 16.14.48.png](https://qiita-image-store.s3.amazonaws.com/0/110606/adaebe1c-87a6-7422-5342-699ee82fc9b6.png)
　
9. 初回時にここで認証が入りますので、Twitterにログインします。
10. Complete Action Fieldsで、投稿時の文字列などを調整します。フォーマットにはいくつかエイリアスが使えて、タイトルや内容なども書き込めます。通常であれば「Qiita書いたよ」みたいな文章と、タイトル、URLを書き込むと思います。
　
　![スクリーンショット 2016-02-25 16.22.46.png](https://qiita-image-store.s3.amazonaws.com/0/110606/27c5a1f3-2836-8b34-eda8-30eb5a65373a.png)
　
11. Create Actionを押してアクションを作り、Recipe Titleに名前をつけます。ここで「Recipe notifications when this Recipe runs」にチェックを入れておくとこのレシピが動いた時に通知してくれます。作成直後はONにして動きを確認しておくと良いと思います。最後にCreate Recipeを押すと、レシピが保存されます。

![スクリーンショット 2016-02-25 16.33.02.png](https://qiita-image-store.s3.amazonaws.com/0/110606/91527db2-ca54-637c-ff52-55aa50fa9511.png)

# IFTTTでFacebookと連携

1. Triggerを作るところまで（〜6.)はtwitterと一緒なので省略。
2. Choose a Action Channelの検索窓で「Facebook」と入力すると、Facebookのアイコンが絞り込まれるのでクリックします。
　
![スクリーンショット 2016-02-25 16.41.23.png](https://qiita-image-store.s3.amazonaws.com/0/110606/ae3e950d-ec9c-e069-c0b9-d8ab9418f7a2.png)
　
3. Choose an Actionで「Create a link post」を選択。これでリンク付きの投稿をアップできます。
　
![スクリーンショット 2016-02-25 16.43.53.png](https://qiita-image-store.s3.amazonaws.com/0/110606/a477a435-dd4c-3482-d67b-5272fa80faa7.png)
　
4. 初回はここで承認が入るはずなので、Facebookにログインして認証します。
5. Complete Action Fieldsで、投稿時の文字列などを調整し、Create Actionを押します。
　
![スクリーンショット 2016-02-25 16.48.17.png](https://qiita-image-store.s3.amazonaws.com/0/110606/77460dbb-ae3e-cd1c-11f5-e9b6e4a2bd0c.png)
　
6. Recipe Titileでレシピ名を決め、必要に応じて「Recipe notifications when this Recipe runs」にチェックを入れて、Create Recipeをクリックしてレシピを保存します。

![スクリーンショット 2016-02-25 16.51.14.png](https://qiita-image-store.s3.amazonaws.com/0/110606/d752e014-0bb5-2f66-c2b8-9951be54d75c.png)

最後に、My Recipesに作成したレシピが保存されていることを確認しておきましょう。

![スクリーンショット 2016-02-25 16.53.58.png](https://qiita-image-store.s3.amazonaws.com/0/110606/06bb2cae-4455-b12d-7e63-91f2a33a63c4.png)

　
# IFTTTの唯一残念なところ

それは**SNSマルチアカウントに対応していない**点です。
たとえば、Qiitaの投稿のRSSを、普段利用しているTwiiterアカウントと、ライフログ用、プライベート用など、**同じサービスの複数のアカウントに対して投稿できない**のです。
TwitterやFBの裏垢などを持っている人や、付き合い範囲で使い分けている人なんかはちょっと面倒ですね。。


ただしこれには回避策があって、**IFTTTのアカウントを複数にすることで対応できます。**

実際、私もライフログ用のTwitterアカウントをPrivateモードで作ってあるのですが、そこへ投稿する専用のIFTTTアカウントと、通常時使っているアカウントへ連携させるIFTTTアカウントの２つを作って運用しています。煩わしいですが、IFTTTはレシピを作って連動が開始するとそれほど頻繁に見にいくサイトでもないのでそれほど気にならないと思います。

# まとめ

* QiitaのRSSフィードはユーザーホームURL+「feed」
* RSSフィードの内容をSNSに通知するのはIFTTTで簡単に実現できる
* IFTTTでは同じSNSの複数のアカウントに同時連携はできない（回避策あり）

慣れている人にとってはまったく不要な情報だったかもしれませんが、セルフブランディング向上のためにQiitaとSNSを連携させたい初心者な人たち（いるのかな？）向けに書いてみました。

**最後までご覧いただきありがとうございました！**

# 参考にしたサイト

↓Qiitaの記事をRSSリーダーに登録する - hotoolong's blog
http://hotoolong.hatenablog.com/entry/2015/05/06/144106