見出し画像

SharePointリストからTeamsに画像投稿する自動化(チームメンション)

SharePointリストの画像の列を使って、Teamsのチャネルにチームメンションをして画像を投稿する自動化を作ってみました。
※Power AppsのデータソースをSharePointリストにした時にも活用できます。

投稿するならメンションしたいですよね。

こんな自動化です。メンションが必要ない方は、上記の自動化にしてください。

・画像を1枚投稿できる(4MB未満)。4MBを超える場合はファイルリンク
・チームメンションができる
・画像のサイズを指定できる
・投稿するチャネルを指定できる



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」があることを確認します。

ここから先は

5,744字 / 22画像
この記事のみ ¥ 200

この記事が気に入ったらサポートをしてみませんか?