Formsで匿名ユーザーから添付ファイルを送付してもらう方法
Microsoft Formsって便利ですよね。
Formsを使えば、申請してもらった情報をPower Automateにつないで後処理できるので、なくてはならない存在です。
ただ、Formsって匿名ユーザーから申請してもらうために[すべてのユーザーが回答可能]の設定にしてしまうと、添付ファイルを送付することができないんですよね。
実はその回避方法、既にやまさんが素晴らしいアイディアを記事にしてくださっています。
ただ弊社の場合、セキュリティの関係でOneDrive for Businessの外部共有を許可していないんですよね。
困っていたところ、愛先生からこんな情報が!
この方法なら、フォルダーを外部共有することなくファイルのアップロードだけしてもらうことが可能です。
という訳で、これらの情報を元に仕組みを作ってみました。
全体像
準備
① 愛先生のブログを参考に、社外からファイルのアップロードができるよう設定を行う。
継続的に申請を受け付ける場合は、下記のチェックははずしておく。(セキュリティ的に問題がないかは、各自判断してください。)
※PowerShellでつまづいた方は下記サイトを参考にしてください。
Office 365 への PowerShell 接続について – LIGLOG INFRA JOURNAL (lig-log.com)
② OneDrive for Businessに添付ファイルをアップロードしてもらうフォルダーを作成し、[ファイルを要求する]の設定をしてリンクをコピーしておく。
③ Formsでお問い合わせフォームを作成する。
その際に、添付ファイルの質問の[サブタイトル]欄に、上記のリンクを貼り付ける。
④ Teamsでお問い合わせを管理するためのチームを作る。
⑤ 上記チームの[ファイル]タブからをSharePointを開き、添付ファイル保存用のフォルダーを作成する。
⑥ お問い合わせ内容を登録するSharePointリストを作成する。
フロー①
Formsが投稿されたら、SharePointリストに登録し、Teamsに投稿するフローを作成します。
フロー②
OneDrive for Businessに添付ファイルが保存されたら、SharePointの該当のドキュメントに移動するフローを作ります。(OneDriveではなくOneDrive for Businessのトリガーおよびアクションを使用してください。)
できあがり
上記SharePointリストをTeamsのタブに追加すれば、Teamsのみで管理可能です。
補足
この方法では、残念ながら各申請と添付ファイルは紐づきません。
ファイルをアップした人の名前(本人が記入)とファイルをアップロードした時間で判断してください。