2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MS Power Automate(MS Flow)とBoxの連携

Last updated at Posted at 2020-02-05

概要

Microsoft Power Automate(旧称:MS Flow)を使い、BoxとTeamsを連携させる手順について記載しています。
(2020/02/05時点)

前提条件

  • Office365の有効なサブスクリプション(ライセンスレベルはE3以上)
  • Boxのアカウント

テンプレート「BoxにファイルがアップロードされたらTeamsにメンションする」

最初に作成するフローとしては、

  • まず、そもそもの話として、Power Automateが動くのか?
  • 自分のアカウント/サブスクリプションで使えるのか?

を確認したいので、フロー自体はテンプレートを使って楽をします。

Power Automateへのログイン

Microsoft Power AutomateにO365のIDでログインします。
Microsoft Power Automate

box_msflow_basic_01.png

テンプレートの検索

検索欄に「Box Teams」と入力し、検索結果から
Boxフォルダーにファイルが追加されたときにMicrosoft Teamsにメッセージを投稿する
を選択します。

box_msflow_basic_01.png

連携先サービスへの認証

Power Automateから連携する先のサービスに対してログインします。

このフローではBox / Teamsの双方に対してサインインする必要があるので、
フローの説明画面から「サインイン」を実行し、それぞれにログインしておきます。

box_msflow_basic_01.png

Boxへのログイン後、OAuthの画面で「Boxへのアクセスを許可」ボタンをクリックします。
BoxアカウントのログインIDとパスワードで認証します。

box_msflow_basic_01.png

同様に、Teamsに対してもログインしておきます。
Office365のログインIDとパスワードで認証します。

Box/Teamsの双方にログイン完了し、緑のチェックマークがついたことを確認し、「続行」をクリックします。

box_msflow_basic_01.png

フローの基本設定

ここから、フローの中身を設定していきます。

  • フローのトリガー
  • 実行するアクション

を順に指定することになります。

トリガー設定: Boxのフォルダパスを指定

今回のテンプレートのトリガーはBoxのフォルダにファイルがアップロードされたらなので、
どのフォルダーを対象とするか指定します。

フォルダアイコンをクリックすると、自分のBox領域でアクセス可能なフォルダが表示されますので、適宜フォルダを選択します。

※1つのフローで、複数のフォルダを対象として選択することはできないように見受けられました。

box_msflow_basic_01.png

box_msflow_basic_01.png

今回はTeams-Flow 連携テストというフォルダを指定しました。

box_msflow_basic_01.png

アクション設定

次はアクション設定です。

  • 対象のチーム
  • 対象のチャネル
  • 投稿時の文面

をそれぞれ指定します。

選択範囲ですが、フロー作成者(=このPower Automateにログインした人のO365アカウント)で見える範囲のチーム/チャンネルから選択可能です。

box_msflow_basic_01.png

チームとチャネルを選択後、本文の編集に入ります。
テンプレートのデフォルトでは以下の文言が設定されています。

A file `ファイル名` is added to Box folder.
ContentType: ファイルコンテンツの種類

文面を日本語に置き換えます。

コンテンツ `ファイル名`がBoxにアップロードされました。
種別: ファイルコンテンツの種類

動的なコンテンツの追加からコンテンツの付帯情報をさらに追加できそうなので、見えているものを全て追加してみます。

box_msflow_basic_01.png

box_msflow_basic_01.png

トリガーとアクションが設定完了しました。
ここで新しいステップボタンをクリックすると、さらに後続のアクションを自分で追加することができます。

今回は基本的な動作確認なので、保存をクリックして作成を完了させます。

box_msflow_basic_01.png

作成したフローはPower Automateの「マイフロー」から確認できます。

デフォルトでフローはアクティブ(実行可能状態)になっています。
動かしたくないときは、フローの「…」ボタンから停止できます。

box_msflow_basic_01.png

動作テスト

フローのトリガーで指定したBoxのフォルダに何かファイルをアップロードします。

box_msflow_basic_01.png

Power Automateの「マイフロー」画面をリフレッシュし、「実行履歴」を開きます。

box_msflow_basic_01.png

ファイルアップロードの直後は何もフローが起動していません。

box_msflow_basic_01.png

フローの設定内容を見返しても何もまずいところが見当たらなかったので、しばらく待ったところ、
フローが動き始め、状況が「成功」となりました。
検知は即時ではなく、少し間があるようです。

box_msflow_basic_01.png

Teamsのチャンネルを確認すると、自動投稿が行われていました。
※投稿者名はフロー作成者のO365アカウント

box_msflow_basic_01.png

Teamsへの投稿内容(原文)は以下の通り。

[12:15] admin
    コンテンツ '出張申請書.xlsx' がBoxにアップロードされました。
種別: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet "0"611359739532
  • ExcelファイルはPower Automate上ではapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetと見なされる
  • エンティティタグは"0"と記載。
  • ファイル識別子として、Box上でのファイルID(本例では611359739532)がそのまま記録される

残課題・要確認

フローのアクション(Teamsの指定)

ダッシュボードにログインしたO365アカウントではなく、神様視点でテナント内の全てのチーム・チャネルから宛先を選択可能にできないか

チャネルへの投稿内容

  • アップロードが発生したBoxフォルダの共有リンクを投稿できないか
  • フローをトリガーしたBox上のファイルへの共有リンクを生成して投稿できないか
  • エンティティタグとは?
  • ファイルの種類をもう少しHuman readableにできないか。
    • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ではなく、Microsoft Excel File など

以上

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?