今まで自動化ツールを使用したことがほとんどなかったので、PowerAutomateを試してみたのですが、
実行できるまでに思っていた以上に時間がかかってしまったので、
反省として書き残しておきます。
原因
OneDriveがビジネス版でなかったため、PowerAutomateからExcelファイルの操作が行うことができなかった。
そもそもPowerAutomate以前の問題だったのですが、これが分かりませんでした。
PowerAutoMateについて
PowerAutomateは、Microsoftが提供する自動化プラットフォームです。
Microsoftのアカウントがあれば、ある程度の機能は無料で使用でき、
Webアプリなのでインストールも不要で、既に使用しているGmailやOneDriveとの連携もできるので、手軽に始められると考え今回試してみました。
実装内容
①Gmail受信で処理を実行
②OneDrive上のExcelファイル内のテーブルに受診したメールの件名と受診時刻をそれぞれ追記
これだけです。
フロー作成後の画面右上のフローチェッカーでも問題なく、テスト処理から手動で実行しても動作したので、作成時点ではこれで問題ないと思いました。
しかし実際に自動処理として実行されると以下のエラーが発生しました。
エラーメッセージにはpermissionsと表示されているので権限周りに問題があるのかと思い、Excelファイルのアクセス権を確認しましたがそちらは問題なく、原因がわからないまま調査を続けていきました。
最終的に見つけたのはMicroSoft公式の以下のページで、
OneDriveでのExcel操作については、個人用OneDriveの場合、Webアプリケーションでの操作はサポート対象外になるとありました。
https://learn.microsoft.com/ja-jp/graph/api/resources/excel?view=graph-rest-1.0
「注: OneDrive のコンシューマー向けのプラットフォームに保存されたブックは、サポートされていません。」
Excelではなくテキストファイルに書き込みを行うようにしてみたところ
問題なく動作するようになりました。
まとめ
OneDrive側のExcelの仕様について調べればすぐに原因が分かったことですが、
OneDriveについては以前から個人用で使っていたので、ビジネス版との違いについての考えが完全に抜けており、新しく始めたAutomateの方に問題があると思い込んでいたため、調査に時間がかかってしまいました。
アプリ間での連携時には使い慣れたアプリでも、仕様は改めて確認しないといけないと実感しました。