【GAS入門】Googleドライブ上のファイルを移動・共有する方法

GASでGoogleドライブ上のファイルを移動したり共有したりしたいんだけど、どうやったらいいんだろう?何から始めればいいのか全然わからなくて…
猫男
猫男
catman
catman
それならcatmanが、「GASを使ってGoogleドライブでファイルを移動・共有する方法」を伝授しよう。

 

GASでGoogleドライブのファイルを移動する方法

GASを用いてGoogleドライブのファイルを移動する方法を見てみよう。

以下のスクリプトを使えば、特定のファイルを指定したフォルダへと移動できるぞ。

 function moveFileToFolder(fileId, folderId) {
    const file = DriveApp.getFileById(fileId);
    const targetFolder = DriveApp.getFolderById(folderId);
    file.moveTo(targetFolder);
 }

function moveFileToFolder(fileId, folderId) は、指定したfileIdとfolderIdを基にファイルを移動させる関数だ。

DriveApp.getFileById(fileId) でファイルを取得し、DriveApp.getFolderById(folderId) でフォルダを取得。

file.moveTo(targetFolder) でファイルを指定のフォルダに移動するんだ。

 

GASでGoogleドライブのファイルを共有する方法

ファイルを共有する方法も非常に簡単だ。以下のスクリプトを見てみよう。

 function shareFile(fileId, emailAddress) {
    const file = DriveApp.getFileById(fileId);
    file.addEditor(emailAddress);
 }

function shareFile(fileId, emailAddress) は、指定したfileIdのファイルをemailAddressのユーザーに共有する関数だ。

DriveApp.getFileById(fileId) でファイルを取得し、file.addEditor(emailAddress) で指定したメールアドレスのユーザーに編集権限を付与する。

 

えっ、編集者権限以外でも共有を変更したい・・・?

そんなときは次の表を参考にして権限を付与してみよう。

権限 メソッド 説明
閲覧者 addViewer(emailAddress) 閲覧のみ可能(編集不可)
編集者 addEditor(emailAddress) 閲覧 + 編集可能
閲覧者(削除) removeViewer(emailAddress) 閲覧権限を削除
編集者(削除) removeEditor(emailAddress) 編集権限を削除
所有者の譲渡 setOwner(emailAddress) 所有者の変更(※ドメイン内ユーザーのみ)

 

練習問題

ファイルID ‘exampleFileId’ をフォルダID ‘exampleFolderId’ に移動させ、メールアドレス ‘example@example.com’ に編集権限を付与せよ。

 

 

解答・解説

 function moveAndShareExample() {
    const fileId = 'exampleFileId';
    const folderId = 'exampleFolderId';
    const emailAddress = 'example@example.com';

    const file = DriveApp.getFileById(fileId);
    const targetFolder = DriveApp.getFolderById(folderId);
    file.moveTo(targetFolder);

    file.addEditor(emailAddress);
 }

moveAndShareExampleという関数を使って、指定されたファイルをフォルダに移動させ、その後メールアドレスに編集権限を付与している。

DriveAppを使って簡単にファイルの操作が完了。

moveToメソッドでファイルを移動し、addEditorメソッドで権限を付与するという流れだ。

おぉ!これでGASを使ってドライブ上のファイルを簡単に移動と共有できそう!
猫男
猫男
catman
catman
いい調子だ、実務でも活用してみると良いだろう。GASを使えば、もっと効率化できることが増えていくはずさ。