Teamsでエラー「404 – File or directory not found」メッセージが表示された。
Teamsでファイル検索のときに次のエラーメッセージが表示されたときの対処方法と原因の特定方法に解説します。
404 – File or directory not found.
わたしはTeamsでファイル検索をしてヒットしたファイルをクリックしたところ、ファイルを開けずに上記のエラーを確認しました。
とりあえずファイルを開くためにすること
とりあえず、ファイルを開かせろやッ!という方は、下記をひとつずつトライしてみてください。
- Teamsでファイル検索でファイルを直接開くのではなく、ファイルタブからフォルダを一つずつ辿って開いてみてください。
- WebブラウザでSharepoint上からですと閲覧できることが多いので確認してみてください。
- Sharepoint上から開いたあとにTeamsでもう一度開いてみるとなぜか開けることが多い気がします。
- 誰かが削除してしまったかもしれません。Sharepointサイトのゴミ箱を確認してみてください。
具体的な手順については次で解説します。
Teamsでフォルダを辿りながら探す方法
▲Teamsのチャネルを開き、ファイルタブをクリックしフォルダを辿りながらファイルを探してみましょう。
Sharepointで検索する方法
▲「Sharepointで開く」をクリックします。
▲ブラウザが起動しSharepointが開きます。画面上部の検索ボックスからファイルを探してみましょう。
ゴミ箱を確認する方法
前のステップ「Sharepointで検索する方法」の手順でSharepointを開きます。
▲左側メニューのゴミ箱をクリックします。ゴミ箱の中身が表示されるのでファイルを探します。ファイルがあるようでしたら復旧しましょう。
原因を推測して対処する。
ファイルを開けても今後同じ状況になるかもしれません。原因を特定して対応を検討しましょう。原因としては下記のいずれかの可能性が考えられます。
- ファイル名が変更された
- 誰かがファイル名を変更した可能性があります。この場合、Sharepoint上では検索して開くことができます。Sharepointのファイルの詳細メニューを開き、アクティビティを確認してファイル名の変更履歴があれば、これが原因である可能性が高いです。Teamsで検索できるようになるには少し時差があるみたいです。
- 誰かがファイル名を変更した可能性があります。この場合、Sharepoint上では検索して開くことができます。Sharepointのファイルの詳細メニューを開き、アクティビティを確認してファイル名の変更履歴があれば、これが原因である可能性が高いです。Teamsで検索できるようになるには少し時差があるみたいです。
- ファイルが削除された
- ファイルが削除された可能性があります。Sharepointのゴミ箱を確認して、ファイルが存在していれば復旧しましょう。
- ファイルが削除された可能性があります。Sharepointのゴミ箱を確認して、ファイルが存在していれば復旧しましょう。
- ファイル・あるいはフォルダパス名が長すぎる
- ファイル名を含むURLが長すぎる可能性があります。Microsoft公式「OneDrive と SharePoint の制限事項」を確認して、ファイル名の要件を満たしているか確認してみてください。この中の使用不可能な文字列に関してはファイルを作成するときにエラーがでて命名することができないのでこのエラーの原因としての可能性は低そうです。確認方法は後述します。
- ファイル名を含むURLが長すぎる可能性があります。Microsoft公式「OneDrive と SharePoint の制限事項」を確認して、ファイル名の要件を満たしているか確認してみてください。この中の使用不可能な文字列に関してはファイルを作成するときにエラーがでて命名することができないのでこのエラーの原因としての可能性は低そうです。確認方法は後述します。
- Microsoftの障害等のトラブル
- Microsoftの障害の可能性があります。Microsfot管理センターで障害情報を確認するか、学校や会社、組織内の管理者に確認してみましょう。
Sharepointのファイル名・パスの長さの制限
上の原因③のパスの制限事項の中で特に注意が必要なのがこちらかなと思います。
OneDrive、職場または学校の OneDrive、そして Microsoft 365 の SharePoint では、デコードされたファイル パス全体 (ファイル名を含む) の長さは 400 文字以内にする必要があります。 この制限は、デコード後のフォルダー パスとファイル名の組み合わせに適用されます。
Microsfot公式 OneDrive と SharePoint の制限事項
ファイルパスの確認とファイルパスの文字数の確認方法
ファイルパスの文字数が400文字に収まっているか確認しましょう!
▲画面右側に詳細情報が表示されます。下にスクロールするとパスが表示されます。コピーアイコンをクリックしてコピーします。すると下記のようなエンコードされたパスを取得できます。
https://<あなたのドメイン>ド/sites/msteams_#####/Shared%20Documents/%E6%A1%88%E4%BB%B6%E7%AE%A1%E7%90%86/%E5%AF%BE%E5%BF%9C%E6%B8%88%E3%81%BF%E6%A1%88%E4%BB%B6/2021%E5%B9%B4%E5%BA%A6/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%EF%BC%90%EF%BC%90%EF%BC%90%EF%BC%91/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/%E3%81%BB%E3%81%AB%E3%82%83%E3%81%BB%E3%81%AB%E3%82%83%E3%81%BB%E3%81%AB%E3%82%83%E3%81%BB%E3%81%AB%E3%82%8320210901.xlsx
上で取得したパスはエンコードされたパスです。文字数制限はデコード後のパスに適用されますので、デコードしてから文字数をカウントしなければいけません。ここではChromeでJavascriptを使ってデコードと文字数確認を同時に行う方法を紹介します。(デコードを簡単にしてくれるWebサービスもありますが、セキュリティ上、社内のファイルパスを簡単に外部Webサイトに渡さない方が良いかと思います。)
▲F12キーを押すと検証モードになります。
Consoleタブをクリックしてコンソール画面を表示します。このタブではJavascriptを実行することができます。
下記のコードをコンソールタブにコピペします。"コピーしたパス"
のところは先ほどコピーしたパスに置き換えてくださいね。
var url = decodeURIComponent("コピーしたパス") console.log(url) console.log(url.length)
貼り付けたらエンターキーで実行して結果を見てみましょう!
//実行例 var url = decodeURIComponent("https://<あなたのドメイン>/sites/msteams_#####/Shared%20Documents/%E6%A1%88%E4%BB%B6%E7%AE%A1%E7%90%86/%E5%AF%BE%E5%BF%9C%E6%B8%88%E3%81%BF%E6%A1%88%E4%BB%B6/2021%E5%B9%B4%E5%BA%A6/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%EF%BC%90%EF%BC%90%EF%BC%90%EF%BC%91/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/%E3%81%BB%E3%81%AB%E3%82%83%E3%81%BB%E3%81%AB%E3%82%83%E3%81%BB%E3%81%AB%E3%82%83%E3%81%BB%E3%81%AB%E3%82%8320210901.xlsx") console.log(url) console.log(url.length) > https://<あなたのドメイン>/sites/msteams_#####/Shared Documents/案件管理/対応済み案件/2021年度/プロジェクト0001/ドキュメント/ほにゃほにゃほにゃほにゃ20210901.xlsx > 118
上は実行例です。
6行目がデコードしたファイルパス
7行目がデコードしたファイルパスの文字数になります。こちらのサンプルは118文字とのことなので400文字以内のようです。
文字数が400文字以上だったら、フォルダ階層を検討し直すなど、短くした方が良いでしょう。
まとめ
原因は、ファイル名が変更されたか、削除された、あるいはフルパスの文字数が長すぎる、Microsfotサーバ側トラブルの可能性があるので確認しよう。