■利用するサービス
・無料版Teams
・Googleカレンダー
・integromat
⇒自動化ツール。IFTTTやMicrosoft Power Automateみたいなものだがより色々できる。
1.Teamsの準備
Incoming Webhookアプリを追加してチャネルに投稿するWebhookURLを取得する。
「Teams Webhook」で検索したら色々出てくるので手順はそちらで。(こことか)
2.Googleカレンダーの準備
通知したいGoogleカレンダーを用意する。
手順は割愛。
3.integromatの設定
まずサインアップ。メールアドレスでもGoogleやFacebookのアカウントを使ってもOK。
ログインできたらページ左のメニューから「Scenarios」をクリック。

画面右上の「Create a new scenario」をクリック。

使うモジュールを選択する画面が出てくるので、今回は「Google Calendar」と「HTTP」を選択。テキストボックスに入力すると名前でフィルターできるので、いい感じに絞ってクリックするとチェックマークがつく。選択したら右上のContinueをクリック。

最初にトリガーを設定。?をクリックすると選択したモジュールが出てくるのでGoogle Calendarをクリック。

一番上の、追加、変更、削除って書いているっぽいやつをクリック。

Addボタンをクリックして接続するGoogleアカウントの情報を入力すると、カレンダーの一覧が出てくるので通知したいカレンダーを選択する。
最後は一度に通知するイベントの最大値っぽいので、なんとなく50にしてみた。

いつから?って聞かれたのでとりあえず今からってしてみる。

次にActionを追加。下のWebっぽいアイコンをクリックし、一番上のMake a requestをクリック。

URL:1で取得したWebhook用のURL
Method:POST
Body type:ROW
Content type:JSON
Request content:ここを参考にいい感じに設定

■今回設定したRequest contentの内容
必要最低限の情報と予定へのリンクを出すようにした。
{ "@type": "MessageCard", "@context": "http://schema.org/extensions", "themeColor": "0076D7", "title": "カレンダー名 {{switch(1.status; "confirmed"; if(formatDate(1.dateCreated; "YYYYMMDDHHmmSS") = formatDate(1.dateUpdated; "YYYYMMDDHHmmSS"); "登録"; "更新"); "cancelled"; "削除")}}", "text": "{{1.summary}}({{formatDate(1.start; "YYYY年MM月DD日 HH時mm分")}}~{{formatDate(1.end; "YYYY年MM月DD日 HH時mm分")}})", "potentialAction": [ { "@type": "OpenUri", "name": "予定を開く", "targets": [ { "os": "default", "uri": "{{1.htmlLink}}" } ] } ] }
あとはGoogleカレンダーに予定を追加し、画面左下の再生ボタンをクリックして通知されるか確認。
問題なく通知されたらフロッピーアイコンをクリックして保存する。
有効にするには左下のトグルをクリックしてOnにする。デフォルトでは15分おきにイベントを取得してTeamsに通知する。
0 件のコメント:
コメントを投稿