Azure Logic Apps を使って Twitter で令和を祝う


令和を自動で祝いたい

gengou_happyou_reiwa_kakageru.png

Twitterで2019/5/1 00:00:00に「令和」 投稿が盛り上がると予想されるので、自動で投稿させるようにしようと思いつきました。

平成最後のQiita投稿、改元に間に合うように急いで書いています。


Azure Logic Apps

コーディングをすることなく、メール受信などの様々なトリガーによってSNS投稿といった様々なアクションを実行できるサービスです。

(いろんなサイトを見ると、 Apps なのか App なのかがどうも表記が安定しないです。どちらが正しいんでしょう?)

IFTTTなどを使えばもっと簡単に実現できそうですが、ここは勉強を兼ねてということで。


Azure Logic Apps リソースの作成

Azure Logic Apps のリソースを作成します。

Logic App リソース作成

今回はテンプレートは使わず、空のロジックアプリを作成します。

Logic App 空のロジックアプリ作成


指定した時刻に Logic Apps を起動する方法

Logic Apps のトリガーを指定した時刻に起動する方法を調べました。当初は「繰り返し」を使って1回だけ実行させようと思ったのですが、最初の1回の実行が、指定した間隔が経った「後」になってしまう(例えば開始時刻を12:00にして間隔を1時間にすると、最初の実行は13:00になってしまう)ので断念しました。

指定した時刻に起動する方法として、カレンダーと連携するのを思いつきました。予め設定していた予定の開始時刻になったらトリガーを実行するものがあります。

同じマイクロソフトのOffice365の予定表を使えればよかったのですが、あいにくOffice365を使っていないので、Googleカレンダーにしました。


Googleカレンダーに専用のカレンダーを作成する

Googleカレンダーのコネクタを見たところ、監視するカレンダーを指定できたので、普段使っているカレンダーとは別にTwitter投稿専用のカレンダーを作成することにしました。普段の予定がTwitterに垂れ流されてはたまりません。

Google Calendar 専用カレンダー作成

2019/05/01 00:00:00 にイベントを作成します。

カレンダーをTwitter投稿専用カレンダーに設定するのを忘れずに。

イベントのタイトルがTwitterに投稿される本文になります。(後でそのように設定します)

Google Calendar 予定作成


Logic Apps の編集

以下のようなとてもシンプルな構成で実現できます。

Logic App 編集画面

トリガーにはGoogleカレンダーの「イベントの開始時」を指定します。

カレンダーIDは先ほど作成したTwitter投稿専用のカレンダーを指定します。

Googleカレンダーを連携するとき、Googleアカウントのセキュリティ警告が発生するかもしれませんので、Googleアカウントにアクセスするなどしてブロック解除する必要があるかもしれません。

アクションにTwitterの「ツイートの投稿」を指定し、ツイートするテキストにGoogleカレンダーの「イベント リスト イベント タイトル」を指定します。

これでGoogleカレンダーに設定したイベントのタイトルでTwitterに投稿されます。

Twitterのアカウントを連携するのを忘れずに。


テスト実行

適当に1分後などにGoogleカレンダーにイベントを作成してしばし待ちます。Twitterに投稿されたでしょうか?


終わりに

Logic App 作成を思い立ってからこの記事を書ききるまで1時間程度で完成しました。

令和になってからもQiitaにぼちぼち投稿していきたいと思います。