LoginSignup
0
0

More than 3 years have passed since last update.

GAS Drive関連メモ

Last updated at Posted at 2020-02-28

Driveクラスをちょっとつかったのでメモ
やりたかったのは指定のファイルと同じフォルダに名前を変えてコピーをつくる、だけだったんだけど。
色々時間かかったので忘れないようにメモ
リファレンス大事だねぇ。

1.前準備

権限設定しておく(ここではDrive関連のエントリだけ記載
(スプレットシートなど他の操作をする場合はそちらのエントリも必要

appsscript.json
{
  "oauthScopes": [
    "https://www.googleapis.com/auth/drive.readonly",
    "https://www.googleapis.com/auth/drive",
  ]  
}

2.ファイルの取得
上記の権限があれば以下でファイルオブジェクトが取得できる
Fileクラス
FILE_IDは開きたいDriveファイルのID


    let file = DriveApp.getFileById(FILE_ID);

3.親フォルダの取得
GoogleDocはファイルが一つ以上のフォルダに所属しちゃうので、親フォルダをとろうとすると、フォルダリストのイテレータから探さないといけない
Folderクラス
Folderイテレータ


    let folderIterator = templateFile.getParents();
    while(folderIterator.hasNext()){
        let folder = folderIterator.next();
        console.log(floder.getName());
    }

4.コピーの作成
コピー自身は簡単

    let file = DriveApp.getFileById(FILE_ID);
    let parentFolder = DriveApp.getFolderById(FOLDER_ID);
    file.makeCopy(); // 純粋にコピー
    file.makeCopy(COPY_NAME); //COPY_NAMEで指定したファイル名でつくる
    file.makeCopy(COPY_NAME,parentFolder); //指定したフォルダに指定したファイル名で

5.おまけ
そういえば、ファイルコピーしたらスクリプトもコピーできてた
よく考えたら当たり前だけど。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0