はじめに
だいぶ前にSharePointで外部の人と共有する設定方法を投稿しました。
SharePointで外部の人とファイルを共有
本稿ではPower Automateで同じことが出来ないか確認した際のメモです。
前の記事では、
- 特定のサイトのみ外部と共有することが出来る。
- 特定のファイルのみ外部と共有することが出来、ファイルを共有するための有効期限付きのパスワードを設定することが出来る。
ということが出来ました。
今回は結果から書くと、
- 特定のサイトのみ外部と共有することが出来る。
- 特定のファイルのみ外部と共有することが出来る。
- パスワードを設定することは出来ない。
- 共有の期限を設定することが出来ない(他の方法で出来る)。
- 共有先ではメールでの認証となる。
となりました。以下ではその設定方法を記載していきます。
設定方法
SharePointの設定
前回の記事を参照して外部との共有設定を行ってください。
Power Automate
「アイテムまたはフォルダーへのアクセス権の付与」アクションを使います。「受信者」に外部のアドレスを指定することが出来ます。
設定内容は以下。
- サイトのアドレス
- 共有したいファイルがあるSharePointのサイト
- リストまたはライブラリ名
- 共有したいファイルがあるリストまたはライブラリ名
- ID
- 共有したいファイルのID
- リストまたはライブラリ上のIDのことです。
- 受信者
- 共有したい人のアドレスを入力。セミコロン区切りで複数アドレス指定可能。
- メッセージ
- 任意項目。
- このアクションを実行すると受信者に対してメールが送られますが、そのメールに何かメッセージを追加したい場合に記載します。
- 例:『お世話になっております。ネオシステムの根尾です。お見積書をお送りします。』とか。
- 受信人への通知
- ここは必ず「はい」。「はい」にしないと受信者にメールが送られません。
共有メール
「受信者」に設定したアドレス宛に以下のメールが送られます(Gmailで表示した場合)。
送信者はPower Automateのフローを作成したユーザのアドレスになります。
メールの「開く」をクリックすると、メーラーによっては以下のようなダイアログが表示される場合があります(下図はGmailの場合)。
次に以下のような画面が表示されます。受信者のアドレスを入力し「次へ」をクリックします。ここで上記の「受信者」に設定していないアドレスを入力すると、エラーとなり、先に進むことは出来ません。
正しいアドレスを入力すると、下図のような画面になります。入力したアドレス宛にコードが記載されたメールが送られるので、そのメールに記載されているコードを入力します。
コードが記載されたメールは送信アドレスが「no-reply@sharepointonline.com」となります。Gmailでは迷惑メールとして判断されていました。
正しいコードを入力するとダウンロード(表示)することが出来ます。
共有を切る
上記のPower Automateのアクションでは共有の期限を設定することが出来ないので、何もしなければ永久にダウンロード出来てしまいます。
共有の解除方法としては、
- 対象のファイルを削除、または別に移動させる。
- Power Automateの「アイテムまたはファイルの共有を停止します」アクションを使用して共有を停止する。
になります。
自動的にするには、共有した日付をどこかで保管(SharePointリストやExcel、Dataverseとか)して、共有後n日経過したファイルを削除または共有を停止させるフローを作成して日次で実行してあげれば良いと思います。
終わりに
この方式で認証(?)を良しとするかは置いといて、Power Automateで出来れば承認フローを走らせたり出来るので、共有先を間違えることは無くすことができるかもしれません。
現場猫「トリプルチェック、ヨシ!」 → 統計の結果、ヨシではないことが判明