SharePointリストからTeamsに画像投稿する自動化(チームメンション)
SharePointリストの画像の列を使って、Teamsのチャネルにチームメンションをして画像を投稿する自動化を作ってみました。
※Power AppsのデータソースをSharePointリストにした時にも活用できます。
投稿するならメンションしたいですよね。
こんな自動化です。メンションが必要ない方は、上記の自動化にしてください。
1.リストの作成
最初にリストを作成します。リスト名は、「ImageMentionPost」にしました。
※リスト名、列名は日本語でもOKですが、フローの式などが変わってしまうので、ご注意ください。
タイトル(1行テキスト)→Teamsの件名
Channel(選択肢)→Teamsチームのチャネル
Body(複数行テキスト)→Teamsの本文
Image(画像)→Teamsの本文
width(数値)→画像のサイズ幅
height(数値)→画像のサイズ高さ
Channel(選択肢)は、投稿先のチャネル名を選択肢にしてください(単一選択肢です)。
リストの設定で添付ファイルは「無効」にしてください。
仕様変更で画像の保存先が、SiteAssets(サイトのリソースファイル)では無く添付ファイルの保存先と同じになるようです。
画像の列は、任意にしてください。フローでエラーがでます。
※必須にしたい場合は、Power Appsにすると必須にできます。
リスト名は、日本語「画像メンション投稿」に変更してください。もし別のリスト名にする場合は、フローの「画像メンション投稿」と書いてあるリスト名を変更してください。
2.フローの作成
このフローは、トリガーをPower Apps(V2)にできるように作成しています。リストをデータソースにしてアプリから画像を投稿する自動化も作成できます。
①フローは、自動化したクラウドフローから、フロー名を入力、「項目が作成されたとき」、「作成」をクリックします。
②トリガーの「項目が作成されたとき」のサイトのアドレス、リスト名を選択します。
③アクションの追加で、SharePointの「項目の取得」を追加します。サイトのアドレス、リスト名を選択し、「ID」に動的なコンテンツからIDを追加します。
④アクションの追加で、SharePointの「SharePointにHTTP要求を送信します」を追加します。サイトのアドレス、方法GET、URIは下記を追加します。
※アクション名は、「アイテムを取得」に変更しました。
※URIは、下記をコピーして貼り付けできます。
※リスト名を変更した場合は、URIのリスト名を変更してください。
_api/web/lists/getbytitle('画像メンション投稿')/Items(@{body('項目の取得')?['ID']})
⑤アクションの追加で、データ操作の「作成」を追加します。アクション名を『Image』に変更し、下記式を追加します。これで画像列の情報がJSONに変換されるので、式で画像のJSONから値を抽出できるようになります。
※データ操作は、組み込みの「Data Operation」のことです。
json(body('アイテムを取得')?['d']?['Image'])
次にテストでフローを実行します。
⑥「保存」をクリックします。
⑦画像メンション投稿のリストを開き、左上にある「+新しいアイテムを追加」をクリックし、すべての項目を入力し、「保存」をクリックします。画像は、4MB未満を用意してください。
⑧アイテムを保存すると画像のサムネイルが表示されます。
次に画像がどこに保存されているか、フローの実行履歴で確認してください。実行履歴は、マイフローの「Teams画像投稿チームメンション」のフローから確認できます。
⑨Teams画像投稿チームメンションフローの実行履歴から、成功したフローを展開します。Imageのアクションを展開して、キー:serverRelativeUrlの値の一部に「/SiteAssets」があることを確認します。
この記事が気に入ったらサポートをしてみませんか?