Power Automateを使ってSharePointリストの複数項目を一括更新するフローを作成したものの、意図した通りに更新されない、あるいはエラーが発生して停止してしまうことはありませんか。このトラブルは、フロー内の「接続」設定や「所有者」情報に問題があるケースが多く見られます。本記事では、複数項目更新が想定通り進まない原因を具体的に切り分け、迅速に解決するための確認手順を解説します。特に、接続の有効期限切れや所有者の変更による影響に焦点を当てています。
【要点】この記事で確認すること
- 最初に見る場所: Power Automateのフロー実行履歴、対象のSharePointリストのアイテム権限、コネクタの接続状態
- 切り分けの軸: 接続の有効期限切れ(トークン失効)とフロー所有者の変更、SharePoint側の権限不足、列名の変更・削除
- 注意点: 会社の管理ポリシーにより接続の自動更新が制限されている場合があるため、管理者に確認せずに接続を削除・再作成しない
ADVERTISEMENT
目次
複数項目更新が失敗する主な原因
Power AutomateでSharePointリストの複数行を更新するフローが失敗する原因はいくつか考えられますが、特に頻度が高いのが「接続の有効期限切れ」「フロー所有者の変更」「SharePoint側の権限不足」「列名の不一致」です。これらの問題は、フローが正常に動作しているように見えても、特定の条件下で突然発生することがあります。ここでは各原因を詳しく説明します。
接続の有効期限切れ
Power Automateの各コネクタは、認証トークンに基づいて動作しています。このトークンには有効期限があり、定期的に更新される仕組みですが、一定期間フローが実行されなかった場合や、ユーザーのパスワードが変更された場合にトークンが無効になることがあります。特に、SharePointコネクタでは、接続の作成者(通常はフロー所有者)のMicrosoft 365アカウントの状態が影響します。アカウントが無効化されたり、多要素認証の設定が変更されたりすると、接続が切れることがあります。
フロー所有者の変更
フローには所有者情報が紐付いており、所有者が退職や異動で変更された場合、フローが突然動作しなくなることがあります。これは、元の所有者の認証情報で作成された接続が、新しい所有者の権限で引き継がれないためです。特に、共有フローで所有者が変わった際に、所有者の明示的な移行作業を怠ると、接続がすべて無効になります。
フローがSharePointリストの項目を更新するためには、実行アカウント(接続で使用しているアカウント)がリストに対して「編集」権限以上を持っている必要があります。権限が不足している場合、更新アクションは「403 Forbidden」エラーで失敗します。また、リストにアイテムレベルの権限が設定されている場合は、特に注意が必要です。
列名の不一致や必須項目の欠落
更新アクションで指定している列名が、実際のSharePointリストの内部名と一致しない場合、フローはエラーにはならずに何も更新しないことがあります。特に、列を後から名称変更した場合、内部名は変更されないため、表示名と内部名の違いを意識する必要があります。また、リストに必須列が設定されているにもかかわらず、更新データにその列の値が含まれていないと、更新が拒否されます。
ループ処理の設計ミス
複数項目を更新する際に「Apply to each」を使用することが多いですが、ループ内で使用している変数やアクションの順序が正しくないと、一部の項目だけが更新されたり、予期せぬ値で更新されたりします。さらに、大量の項目を一度に更新しようとすると、APIの呼び出し制限(1分間の制限など)に引っかかり、途中でタイムアウトすることもあります。
フローの実行履歴とエラーメッセージの見方
トラブルシューティングの第一歩は、フローの実行履歴を確認することです。Power Automateポータルで該当フローを開き、「実行履歴」タブをクリックすると、過去の実行結果が一覧表示されます。失敗した実行をクリックすると、各アクションの詳細とエラーメッセージを確認できます。典型的なエラーメッセージとその意味を表にまとめました。
| エラーメッセージ | 考えられる原因 |
|---|---|
| 403 Forbidden | SharePointへのアクセス権限が不足している、またはトークンが無効 |
| 400 Bad Request | リクエストの構文エラー。列名の間違いや値の形式が不正 |
| BadGateway | 一時的なサーバーエラー。再実行で解決することが多い |
| Connection not found | 接続が削除されたか、所有者が変更されて接続が無効化された |
エラーメッセージを確認したら、まずは接続の状態と所有者をチェックしましょう。次のセクションで具体的な手順を説明します。
接続の状態を確認する手順
接続の状態はPower Automateの管理画面から簡単に確認できます。以下の手順で行ってください。
- Power Automateポータル(https://make.powerautomate.com)にサインインします。
- 左側のナビゲーションメニューから「データ」→「接続」を選択します。
- 一覧から対象のSharePoint接続を見つけ、ステータスが「接続済み」であることを確認します。もし「期限切れ」や「エラー」と表示されている場合は、接続を更新する必要があります。
- 接続を更新するには、該当接続の「…」メニューをクリックし、「編集」または「証明書の更新」を選択します。認証画面が表示されたら、現在の資格情報で再サインインしてください。
- 更新後、フローの実行履歴から対象のフローを再実行し、正常に動作するか確認します。再実行は「送信」ボタンから手動でトリガーしても構いません。
接続を更新しても問題が解決しない場合、次のステップとしてフロー所有者の確認に進みましょう。なお、会社のポリシーによっては、ユーザー自身が接続を更新できない場合があります。その場合は、管理者に連絡して対応を依頼してください。
フロー所有者の確認と変更時の対処
フローの所有者が変更された場合、既存の接続は新しい所有者に引き継がれません。フローの所有者は、フローの「詳細」画面で確認できます。以下の手順で変更が必要かどうかを判断し、必要に応じて対処しましょう。
所有者の確認方法
- Power Automateポータルで対象のフローを開きます。
- フロー名の下にある「詳細」リンクをクリックします。
- 「所有者」フィールドに表示されているユーザーが現在の所有者です。ここに自分以外の名前が表示されている場合、フローを編集する権限が不足している可能性があります。
所有者を変更する手順
フローの所有者を変更するには、Power Platform管理センターを使用するか、フローを再作成する必要があります。ただし、フローを共有している場合、新しい所有者がフローを編集できるようにするには、フローを新しい所有者に「譲渡」する操作が必要です。譲渡の手順は以下の通りです。
- Power Automateポータルでフローを開き、「共有」ボタンをクリックします。
- 新しい所有者のメールアドレスを追加し、権限レベルを「所有者」に設定して保存します。これで新しい所有者がフローを管理できるようになります。
- 新しい所有者は、フローを開き、各アクションの接続を自分用に更新する必要があります。古い所有者の接続は使用できなくなるため、必ず新しい認証で再接続してください。
所有者変更後にフローが正常に動作しない場合は、すべてのSharePointコネクタの接続が新しい所有者のアカウントで設定されているかを確認してください。
その他の確認ポイント(権限、列構成、ループ設計)
接続と所有者の問題を除外してもフローが動かない場合、以下の点を追加でチェックしましょう。
フローが使用しているアカウントが、対象のSharePointリストに対して「編集」以上の権限を持っているか確認します。権限はリストの「設定」→「アクセス許可」から確認できます。アイテムレベルの権限が設定されている場合は、すべてのアイテムにアクセスできるとは限らないため、注意が必要です。権限が不足している場合は、リストの所有者に依頼して権限を付与してもらいます。
列名の不一致
Power Automateで列を指定する際、表示名ではなく「内部名」を使用する必要があります。内部名はSharePointリストの「リスト設定」で各列の詳細を開くと確認できます。特に、列を後から改名した場合、内部名は変更されないため、表示名と異なることがあります。フロー内で使用している列名を内部名と照合し、一致していることを確認してください。
ループとバッチ処理の設計
Apply to eachを使用したループ処理で一部の項目だけが更新されない場合、ループ内のアクションでエラーが発生していないか確認します。また、大量の項目を更新するときは、同時実行数を制限するなどしてAPI制限を回避します。フローエディターの「設定」で「同時実行数」を1にすると、順次処理されるため安定しますが、処理時間は長くなります。
状況別のトラブルシューティング表
以下の表は、症状ごとに考えられる原因と解決策をまとめたものです。フローの問題が発生した際の確認の参考にしてください。
| 症状 | 考えられる原因 | 確認箇所 | 解決策 |
|---|---|---|---|
| 特定のアイテムのみ更新されない | 権限不足、列名不一致、必須項目欠落 | 該当アイテムのアクセス権、列内部名、入力データ | 権限付与、列名修正、必須項目に値を設定 |
| すべてのアイテムが更新されない | 接続切れ、所有者変更、リスト削除 | 接続状態、フロー所有者、リストの存在 | 接続更新、所有者変更、リスト再作成 |
| 更新に時間がかかりタイムアウト | 処理件数過多、API制限 | ループの同時実行数設定、1分間の呼び出し数 | 同時実行数を1に減らす、項目を分割して処理 |
| ランダムに失敗する | 不安定なネットワーク、一時的なサーバーエラー | 実行履歴のエラー内容 | 再実行、リトライポリシーの追加 |
よくある質問
ここでは、読者からよく寄せられる質問とその回答をまとめました。
Q1. 接続を更新してもエラーが変わらない場合は?
接続を更新しても問題が解決しない場合、フローの所有者が変わっていないか確認してください。所有者が変わると、更新した接続が新しい所有者のアカウントに紐付いていない可能性があります。Power Platform管理センターでフロー所有者を適切なユーザーに変更し、そのユーザーで接続を再設定する必要があります。
Q2. 複数行の更新で一部だけ失敗します。
一部の行だけ更新されない場合、その行のデータに問題があることが多いです。SharePointリストの列に必須項目が設定されていて、その値が空になっていないか確認しましょう。また、列のデータ型と入力値が一致しているかもチェックしてください(例:数値列に文字列を入れようとしていないか)。
Q3. フローの所有者を変更したら、既存の接続はどうなりますか?
元の所有者の接続は新しい所有者には引き継がれません。新しい所有者がフローを編集する際には、各コネクタの接続を新しいアカウントで再度設定する必要があります。古い所有者が退職した場合などは、接続が完全に削除される可能性もあるため、早めに移行作業を行いましょう。
Q4. フローを編集できないエラーが出ます。
フローを編集する権限がないことを示しています。フローの所有者または管理者に連絡し、編集権限を付与してもらうか、フローを共有してもらってください。自分が所有者である場合は、ライセンスが正しく割り当てられているか確認しましょう。
まとめ
Power AutomateでSharePointの複数項目更新が想定通り進まない場合、まずは接続の有効期限切れとフロー所有者の変更を疑って確認することが重要です。実行履歴のエラーメッセージを読み解き、接続の再認証、所有者の移行、権限や列名のチェックを体系的に行うことで、多くの問題は解決できます。特に、組織で複数のユーザーがフローを共有している場合は、所有者管理のルールを整備し、退職や異動が発生した際に速やかに対応できるようにしておきましょう。本記事で紹介した手順を参考に、フローを安定稼働させてください。
ADVERTISEMENT
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
