Microsoft Azure AppServiceに含まれる「LogicApps」は、コードを記述すること無くコネクターをつなげることでSaaSや、Office 365、Twitter、Dropbox、Google Servicesなど、クラウドベースのさまざまなアプリケーションに接続する仕組みをすぐに作れるという便利機能です。(現時点ではまだプレビュー)
コードが全く書けない人でも、最近よく話題になっているBOTがサクッと作れるイメージ。
例えば「特定のツイートを自動検知してslackに投稿する」というような仕組みがノンプログラミングで作れます。
というわけで、今回はタイトル長いですけどこの通りの流れを試してみました。
ホントにノンプログラミングでできたのでとても面白かったw
というわけで、手順メモです。
今回やること
「LogicApps」を使ってやってみたのは「特定の単語が含まれるポジティブなツイートが投稿されたら自動検知してslackにツイートを投稿し、Google Driveにツイート内容を新規ファイル(テキスト形式)として保存する」というものです。
実際の運用では「ネガティブツイート」の方がいいかもしれませんが(メンション無しのツイートをエゴサーチする手間が省ける)、ちょっとテンション落ちそうなので今回はポジティブツイートを集めることとします。
事前に準備すること
まずは今回使う「slack」と「Google Drive」に以下の準備をしておきます。
slack側の準備:新規チャンネルを作成しておく
投稿したい新規チャンネルを作成します。(既存のチャンネルを使う場合は特に必要なし)
通常通りに新規チャンネルを作ります。
slackに新規チャンネルができたので、これでOK。
Google Drive側:フォルダを作る
slackに投稿されたツイートをテキスト形式で保存していくので、フォルダ分けした方が便利そうなので作っておきます。(既存のフォルダを使う場合は特に必要なし)
今回は「TweetBot」というフォルダを作りました。準備は以上。
実際にLogicAppsで仕組みを作ってみる
ここから先の作業は全てAzure管理ポータルから行います。
[新規]>[Web+モバイル]>[LogicApp]で新規作成画面が表示されます。
赤枠内に必要なことを入力したり選んだりして下方にある「作成」ボタンクリック。
このような画面が表示されます。
LogicAppsは、ブラウザーで全体を設計することができます。
赤枠内の部分(コネクター)を繋いでいくことで仕組みを作ることができるので、コードが書けなくても大丈夫!
「Twitter – When a new tweet appears」を選択すると、Twitterの認証画面になります。
(「Twitter – When a new tweet appears」出てこないときは「Twitter」と検索窓に打ち込むと出てきます)
TwitterのID・パスワードを入力後「連携アプリ認証」ボタンクリック。
認証が通ると、このような表示になるので赤枠内に検索する内容を入れます。
今回は「WordPressを含むポジティブなツイート」を検索します。
この部分はTwitter検索の「演算子」を使って記述しています。
「演算子」をクリックすると表示される内容を使うと「ポジティブ」「ネガティブ」が判定できる模様。
(この部分、日本語はうまくいきませんでしたが…)
https://twitter.com/search-home
Twitterコネクタの下にあるバツ印をクリックし「Add an action」をクリック。
「slack」を検索して「Slack – Post Message」をクリック。
Twitterと同じようにSlackの認証をします。
このような形で認証されます。
必須項目になっている「CHANNEL NAME(投稿したいslackのチャンネル名)」「MESSAGE TEXT(slackに投稿したい内容)」を入力。
これ以外にもBOT名を付けたりできます。(今回は割愛)
次はGoogleDriveの設定。
「Google」を検索して「Google Drive – Create file」を選択。
GoogleDriveの認証をします。
ログインして「許可」をクリック。
FOKDER PATHで新規に作ったフォルダ(今回はTwitterBot)を選択。
赤枠内に記入。
FILE NAMEは拡張子も付けておきます。(付けないと開けないファイルができあがる…)
ここまで設定できたら、上部の「SAVE」をクリック。
これでBOTが出来上がりました!
実際に確認してみる
本当にツイートを自動で拾えているか確認してみます。
投稿テスト WordPress
— のりじ(NorikoMATSUMOTO) (@nori790822) 2016年6月27日
「WordPress :)」を含めて投稿してみました。
slack側は「名前とツイート内容」が投稿されています。
Google Drive側でも指定した名前のテキストファイルが保存されていて、中身は「名前とツイート内容」になっています。
ここまで一切コードを書かず、これだけの実装が無事にできました!
最後に
なぜか私のサブスクリプションはこれまでLogicAppsの保存が一切できず、ヤキモキしてたのですがやっと保存できるようになりました!w
いやホントにLogicApps面白い!!
コード書かずにここまで「やりたい仕組みが作れる」のはすごいなぁと。(もちろんコードが読めて書ければもっと色々できますが)
今回はポジティブはツイートを拾うようにしましたが、ネガティブなツイートがされたときに拾って対応するとかが自力でエゴサーチしなくてよいので便利かもしれないな、と思ったところ。
ですが、実際のところ「ポジティブ :)」か「ネガティブ :(」かの判定は顔文字でおこなっているようなのですが、この顔文字って日本ではあまり使われていないので、現時点では判定はちょっと微妙な感じ…。(他の判定方法が加わればいいなぁ)
あとは日本語の検索がうまくいかないっぽいとか色々まだまだ不安定なところはあるのですが、今後に期待ですね。
今回試した方法は無料枠でも試すことができるので、是非一度試してみてください!
参考にさせていただきました
てすとぶろぐ:Azure LogicApps で Twitter に反応させる
http://blogahf.blogspot.jp/2016/03/azure-logicapps-twitter.html
Logic Apps とは
https://azure.microsoft.com/ja-jp/documentation/articles/app-service-logic-what-are-logic-apps/