Power Apps アプリ起動時にパラメータを送る。受け取る。
アプリ起動用URLにパラメータを設定することで、アプリに値を送ることができます。
パラメータを渡す
パラメータは?ID=123のようなかたちで渡すことができます。
例:
[起動用URL]?ID=123
複数のパラメータを渡す
複数パラメータを渡す場合は、&でつなげます。?ID=123&Value=ABCのようになります。
例:
[起動用URL]?ID=123&Value=ABC
パラメータを受け取る
受け取るには、Param()関数で取得します。
例:
Param("ID")
グローバル変数で保持する場合:
Set(_id, Param("ID"));
参考URL
Param()
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-param
Power Apps タイマーコントロールが挿入できないんだけど!?
タイマー?そんなの無くね?という方。
挿入 > 入力 のパネルはスクロールできます。
下にスクロールしてみてください。
スライダーとか、タイマーとかが出てきます。
macユーザーだとスクロールバーが出なく、ハンズオンとかで「タイマー無い!?」という方がいらっしゃったので記事にしてみました。
Power Apps ギャラリーコントロール上の変更を都度Collectionへ反映させる
Collectionをデータソースとしているギャラリーにテキストコントロールなどを設置して、直接値を書き換える方法について。
やり方
ギャラリーでリスト上に表示したCollectionに対して都度更新したい場合、以下のようにコントロールのOnChangeなどでPatch()処理を行います。
TextInput1.OnChange:
Patch(colItems,ThisItem,{Value1:Value(TextInput1.Text)})
OnChangeなどに仕込むことで、変更を半リアルタイムで反映させることができます。
動的に表示したい数値などがある場合に有効です。合計値とか。
必要がないのであればリアルタイムでの反映は処理速度に影響がでそうなので適切なタイミングで変更を反映するようにしてください。
サンプルで使用したCollection
ClearCollect(colItems,{Value1:0,Value2:0},{Value1:0,Value2:0},{Value1:0,Value2:0})
Power Automate x MSGraphでTeamsのチームにメンバーを追加する
必要なアクセス許可
今回必要なアクセス許可の種類は以下です。
GroupMember.ReadWrite.All
事前にアクセス許可を設定しておきましょう。
Teamsのチームに追加する
下記のサンプルのようにするとチームに追加することができます。
チームへ追加 サンプル
{
"requests": [
{
"id": 1,
"url": "/groups/{GroupId}/members/$ref",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"body": {
"@@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{UserId}"
}
}
]
}
チームへ追加 パラメータの解説
url内のid:GroupIdを指定します。{}は不要です。
body内のid:UserIdを指定します。{}は不要です。
ここまででチームへ追加することができます。が・・・
Docs参考にしてもできない?
Docsを参考にしてもうまくいきません。@付きパラメータがエラーを吐いてしまうためです。
@@にすると解決します。(サンプルでは解決済み)
実行するとOffice365Groupに追加される
上記を実行すると、Azure ADでグループに追加できたのを確認できます。
Teams反映には時間がかかる
ただ、すぐにはTeamsには反映されません。反映には最大2時間かかるようです。
ご注意ください。
参考URL
グループにメンバーを追加する リファレンス
https://docs.microsoft.com/ja-jp/graph/api/group-post-members?view=graph-rest-1.0&tabs=http
Office 365 グループおよび Microsoft Teams
https://docs.microsoft.com/ja-jp/microsoftteams/office-365-groups#group-membership
MS Flow doesn't allow adding @ sign in the body of HTTP Action
http://www.suhail.cloud/2018/03/ms-flow-doesnt-allow-adding-sign-in.html