Google ドライブでファイルが移動できない理由とは?
Google ドライブには「ファイルを移動する」機能が備わっています。「移動」は「コピー」とは異なる機能です。「コピー」はファイルの複製を作る機能であり、「移動」は実体ファイルそのものを別フォルダに移動する機能になります。
ただ、この「移動」は万能な機能ではなく、条件を満たさない場合はファイルを移動することはできません。今回は Google ドライブでファイル移動ができない場合の原因について解説します。
ファイルを移動する方法
① 移動したいファイルを右クリック
Google ドライブのファイルを右クリックし、[ 整理 ] – [ 移動 ]を選択します。
② ファイルの移動先を選択
すると、ファイルの移動先を選択するポップアップが表示されるので、移動先のフォルダを選択しましょう。
ちなみに、ファイルの移動先は、以下5つの候補から選択することができます。
- マイドライブ
- 共有ドライブ
- パソコン
- 共有アイテム
- スター付き
「パソコン」は、パソコン版 Google ドライブと同期されている共有スペースを指します。共有アイテムは自分自身が権限を保持しているアイテムの一覧で、他者から共有されたアイテムも対象になります。共有アイテムについて詳しく知りたい場合はコチラの記事をご参考ください。
③ ファイルを移動する
移動先を選択したら「移動」ボタンを押下します。これによりファイルの移動を実行することができます。
ファイルを移動できない理由
前述した通り、移動先には5つの候補が存在しますが、これらの移動先を大別すると、結局は移動先として選択可能なフォルダは「マイドライブ」、もしくは「共有ドライブ」どちらかのフォルダでしかありません。
つまり、「移動元」と「移動先」のどちらも、選択肢が「マイドライブ」と「共有ドライブ」の2種類しか存在しないため、ファイルが移動できない理由は、移動元2種と移動先2種の組み合わせのパターンで説明することができます。
それぞれの組み合わせによる移動できない原因について解説します。
パターン① マイドライブからマイドライブへの移動に失敗する場合
ファイルの移動が失敗する場合、移動を実行するユーザーが以下条件を満たしていない可能性があります。
- 移動の実行者が「移動元」のアイテムに対して編集権限以上を保持
- 移動の実行者が「移動先」のフォルダに対して編集権限以上を保持
※ 以下図の通り、移動実行者は「移動元」と「移動先」に対して、「編集者権限以上」を保持している必要があります。
マイドライブからマイドライブへ移動を実現するための対処法
対処法としては、移動の実行者が前述した条件を満たすように事前に権限の操作を行なっておく必要があります。ただ、あなたがご利用のアカウントが Google Workspace アカウントであり、移動先が異なる組織のドメインである場合、対応が難しいかもしれません。理由としては、移動先が社外共有を禁止にしている可能性があり、その場合は移動先フォルダが紐づく組織のセキュリティポリシーに準拠した対応が必要になります。
パターン② マイドライブから共有ドライブへの移動に失敗する場合
ファイルの移動が失敗する場合、移動を実行するユーザーが以下条件を満たしていない可能性があります。
- 移動の実行者が「移動元」のファイルに対して「オーナー」権限を保持
- 移動の実行者が「移動先」の共有ドライブに対して「投稿者」権限以上を保持
※ 以下図の通り、移動実行者は「移動元」と「移動先」に対して、それぞれ「オーナー権限」と「投稿者権限以上」を保持している必要があります。
マイドライブから共有ドライブへ移動を実現するための対処法
まずは移動元と移動先に対して、実行者自身の権限を確認しましょう。条件を満たしていない場合は、適切な権限を保持してください。移動先の共有ドライブに対して、権限変更を行うことができるのは「異動先共有ドライブの管理者」になるので、この管理者に対して、該当の権限を付与するに依頼してください。
パターン③ 共有ドライブから共有ドライブへの移動に失敗する場合
ファイルの移動が失敗する場合、移動を実行するユーザーが以下条件を満たしていない可能性があります。
- 移動の実行者が「移動元」の共有ドライブに対して「管理者」権限を保持
- 移動の実行者が「移動先」の共有ドライブに対して「投稿者」権限以上を保持
※ 以下図の通り、移動実行者は「移動元」と「移動先」に対して、それぞれ「管理者権限」と「投稿者権限以上」を保持している必要があります。
共有ドライブから共有ドライブへ移動を実現するための対処法
3つのパターン全て共通の動きになりますが、まずは移動元と移動先に対して、実行者自身の権限を確認しましょう。条件を満たしていない場合は、適切な権限を保持してください。移動先の共有ドライブに対して、権限変更を行うことができるのは「異動先共有ドライブの管理者」になるので、この管理者に対して、該当の権限を付与するに依頼してください。
プログラムで自動化する方法
Google Apps Script (GAS)には、「moveTo」というファイル移動のための便利な関数が用意されています。前述した条件を満たしていれば、この関数を使うことで簡単にファイル移動を実現することができます。
var file = DriveApp.getFileById("ファイルID");
var folder = DriveApp.getFolderById("フォルダID");
file.moveTo(folder);
それ以外にも Google ドライブのREST APIを利用してファイル移動を実現する方法もありますが、REST APIにはGASで使える「moveTo」のような機能は存在しません。そのため、APIを使ってファイル移動を実現する場合は、権限や親フォルダの変更によって、ファイルを移動させることになります。
まとめ
ファイルの移動に関して、いくつかの条件と方法があります。まず、マイドライブから別のマイドライブへファイルを移動する場合、ユーザーは「移動元」と「移動先」の両方に対して編集権限を持っている必要があります。これにより、安全かつ適切な移動が可能です。
マイドライブから共有ドライブへの移動には、移動元ファイルに対する「オーナー」権限と、移動先の共有ドライブに対する「投稿者」権限が必要です。これにより、所有権とアクセス権が適切に管理されます。
共有ドライブ間でファイルを移動する際には、移動元の共有ドライブに「管理者」権限、移動先の共有ドライブに「投稿者」権限が必要です。これにより、共有ドライブ間でのファイル移動がスムーズに行われます。
さらに、Google Apps Script (GAS) を利用することで、これらのファイル移動を自動化することが可能です。これにより、反復的なタスクの効率化が図られ、時間を節約できます。また、Google ドライブ APIを使用することで、プログラム的にファイル移動を実行することも可能です。APIを活用することで、さらなるカスタマイズや統合が実現します。