当ハンズオンでは、Power Automate を使用して、スマートフォンの現在位置の天気を取得し、Twitterにツイートする処理を作成します。
このハンズオンを通じて、 Power Automate が如何に簡単に自動化できるかを体験できれば幸いです。
- Power Automate をインストール可能なスマートフォン
- Twitter アカウント
- 当ハンズオンで行うこと
- 事前に必要なもの
- 目次
- 1. 環境準備/ログイン
- 2. お天気情報ツイートフロー(初級編)
- 3. お天気情報ツイートフロー(中級編)
- 4. お天気情報ツイートフロー(上級?編)
Power Automate を使用するための環境を準備します。
Microsoft 365 や Power Automate 有償プランを会社でお持ちの方はそちらを利用して頂いても構いませんが、個人で自由に利用できるためのプランとして、コミュニティプランというものがありますので、是非そちらもお使いください。
有償プラン ※1 と同等の機能を無償でお使い頂けます。
※1:RPA機能(UI Flows/WinAutomation)は使用できません。
既にコミュニティプランをお持ちの方はスキップしていただいて構いません。
- Power Apps コミュニティプラン サイトにアクセスします。
https://powerapps.microsoft.com/ja-jp/communityplan/
- 「無料で使い始める」をクリックします。
- サインアップをおこないます。
- 会社のアカウントかどうかの確認を求められるので、「はい」をクリックします。
- アカウント情報の生成画面に遷移するので、必要事項を記入の上、「はい」をクリックします。
以上で環境作成は完了です。
- Power Automate サインインサイトにアクセスします。
以下のリンク先をクリックする。 Power Automate ログイン
- 作成したアカウントを使用してサインインします。
- 環境をクリックし、自身の名前がついた環境に切り替えます。
- 赤枠でかこっている表示が出ていれば、コミュニティプランの環境に切り替わっています。
※写真はiOS版のものですが、Androidでも基本的には同じです。
- App Store や Google Store にて Power Automate を検索します。
- Power Automate が表示されるので、インストールを行います。
- 作業の開始をタップし、サインインを行います。
- アカウントをタップします。
- 環境をタップし、先ほど作成した環境を選択してOKをタップします。
- もう一度アカウントをタップし、環境名が正しく変更されていることを確認します。
- Power Automate の環境横にある設定ボタンをクリックします。
- すべての Power Automate 設定を表示をクリックします。
- 表示言語を日本語に設定し、試験的な機能をオンにして、保存します。
- 作成をクリックします。
- インスタントフローをクリックします。
- 任意の名前を入力し、「手動でフローをトリガーします」を選択して作成ボタンをクリックします。
- 新しいステップをクリックします。
- MSN と検索し、アクションから「現在の天気を取得する」をクリックします。
- 「現在の天気を取得する」アクションの設定画面が表示されるので、場所を選択し、動的な値を追加しますをクリックします。
- 動的な値を以下のように設定します。
- 単位を「Metric」に変更します。
- 新しいステップをクリックします。
- Twitter と検索し、アクションから「ツイートの投稿」をクリックします。
- 初回使用時は Twitter のサインインを求められるので、サインインをクリックします。
- ポップアップウィンドウが立ち上がりますので、Twitter認証を実施します。
- Twitter のアカウント認証が通ると、このような表示になります。
- ツイートテキストをクリックし、MSN天気の場所を設定したように、以下のように設定します。
動的な値 | アクション名 |
---|---|
日付 | 手動フロー |
条件 | 現在の天気 |
気圧 | 現在の天気 |
温度 | 現在の天気 |
湿度 | 現在の天気 |
風速 | 現在の天気 |
瞬間風速 | 現在の天気 |
紫外線指数 | 現在の天気 |
- フローを保存します。
- スマートフォン側を確認すると、ボタンが出現していますので、タップします。
- フロー画面にて戻るボタンをクリックします。
- 実行履歴が成功していることを確認します。
- 履歴をクリックすると、実行結果が表示されます。
- Twitterに投稿されていることを確認します。
ツイート内容を見てもらえばわかりますが、投稿時間が日付だし、風速は時速でちょっとピンとこないし・・・ ということで、変換アクションや関数を使ってアレンジを加えていきたいと思います。
- 編集ボタンをクリックします。
- ツイート投稿の前の矢印にカーソルを合わせ、プラスをクリックします。
- アクションの追加をクリックします。
- タイムと検索し、アクションから「タイム ゾーンの変換」をクリックします。
- 各種パラメータを以下のように設定します。
パラメータ名 | 内容 |
---|---|
基準時間 | タイムスタンプ(手動フローアクション) |
変換元のタイムゾーン | (UTC)協定世界時 |
変換先のタイムゾーン | (UTC +09:00)大阪、札幌、東京 |
書式設定文字列 | 世界共通の並べ替え可能な日時パターン |
- ツイートの投稿にて投稿時間の値を変換後の時間に変更します。
- ツイート投稿の前の矢印にカーソルを合わせ、プラスをクリックします。
- アクションの追加をクリックします。
- 数値と検索して「数値の書式設定」をクリックします。
- 番号を選択して、「式を追加します」をクリックします。
- Expression に以下の式を入力します。
mul(
div(
body('現在の天気を取得する')?['responses']?['weather']?['current']?['windSpd'],
3600
),
1000
)
風速は時速 km/h の数値となるので、秒速 m/s に変換します。
まずは時速を秒速に変更するために3600で割り
その後、kmからmに変換するため1000倍する必要があります。
- mul 関数:2つの数値を乗算した積を返します。
- div 関数:2つの数値を除算した結果を返します。
計算式に置き換えると以下のようになります
(風速/3600秒)×1000
- フォーマットをクリックし、「1,234.00」をクリックします。
- アクション名右にあるメニューボタン(…)をクリックします。
- メニューから「名前の変更」をクリックします。
- 名称を「風速 秒速変換」と設定します。
- 同様に、瞬間風速も変換します。
mul(
div(
body('現在の天気を取得する')?['responses']?['weather']?['current']?['windGust'],
3600
),
1000
)
- ツイート内容を以下のように変更します。
-
保存し、スマートフォン側でボタンを再度タップします。
-
きちんとツイートできていることを確認します。
天気の名称が英語なのちょっと厳しいですよねー なので、この辺を日本語訳してみましょう!
手順は特に明記していません。 ヒントはこんな感じです!