はじめに
http://developer.cybozu.co.jp/tech/?p=2173
これを知ってから気になっていたメッセージ(チャット)の送付。
Node.jsでやるには
XMPPという仕様に従って送信すれば良いらしいので、何かライブラリが存在しないか探った。
https://github.com/astro/node-xmpp
また、node-xmppをラップしてFacebook専用にした以下がある。これでやれば良さそうだ。
https://github.com/SideraX/node-facebook-chat
node-facebook-chatをインストールする際にはICUが必要なので環境構築しよう。
http://qiita.com/items/fd76d67fd5d63c3cb4a5
node-facebook-chatには簡単なExampleが本家ページにあるので参考にすると良さそう。これでMacのクライアント程度で動かす事はできた。
Herokuでやる場合
ICUをインストールするのにHeorkuではbuildpackの構築が必要だったが、ICUを必要とするnode-stringprepはnode-xmppではoptional扱いだった。実際node-stringprepを外しても警告は出るもののMac上では動作させられたので、node-facebook-chatのコードを自身のコードへ移植することで対応した。
これってスパムアプリ作れてしまうよね?
下記参照。
https://developers.facebook.com/docs/chat/
Please do not use this API to send spammy messages to users. Facebook takes user experience and spam extremely seriously and if users report your app as using the Chat API to spam them, we will disable your app.
適当な訳:
このAPIをスパムっぽいメッセージをユーザーへ送信するのに利用しないで下さい。Facebookはユーザーエクスペリエンスとスパムに関して極めて真面目に取り組んでおり、もしユーザがあなたのアプリをChat APIのスパム利用であるとレポートした際には、あなたのアプリケーションを利用不可能にします。
というわけで当然悪用厳禁と思われる。