【GAS】「Exception: Invalid argument: id」が出た時の対処方法

Code

はじまり

リサちゃん
リサちゃん

今まで動いてたのに、なんか動かなくなった・・・

135ml
135ml

何が起きているんだ

※当ページはアフィリエイト広告を利用しています。

事象の確認

Google Apps Script(GAS)で開発を行っている際に、「Exception: Invalid argument: id」というエラーメッセージに遭遇することは、たまに起こります。

このエラーは、関数に無効または不正なIDが渡された場合に発生します。

例えば、こんな感じのスクリプトを走らせた時に遭遇することがあります。

  console.log(folderDict);
  console.log(`moveFileToFolder: 77777777777777777777777777777777777777777777777777777777777777777`);

  // Move file to folder
  fileList.forEach(function(movingList) {
    if (movingList[1] !== "") {
      console.log(movingList[1]);
      console.log(folderDict[movingList[1]]);
      console.log(`moveFileToFolder: ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''`);
      targetFile = DriveApp.getFileById(movingList[2]);
      toFolder   = DriveApp.getFolderById(folderDict[movingList[1]]);
      targetFile.moveTo(toFolder);
    }
  });

ログ結果は以下の感じです。ぼかしている部分は、GoogleドライブのフォルダのIDです。

この場合は、’202402’というキーがfolderDictの中にないために、本エラーが発生しました。

本エラー文の解決方法の候補

  1. ドキュメント、スプレッドシート、スライド、フォルダなどのIDの確認
  2. 引数に渡しているIDが、undefinedまたはnullかどうかの確認
  3. APIのリファレンス確認
  4. ドキュメント、スプレッドシート、スライド、フォルダなどへのアクセス権の確認

Google Apps Scriptの関連書籍

Google Apps Script × ChatGPTのツボとコツがゼッタイにわかる本

Amazon.co.jp

Google Apps Script Webアプリ開発 第4版

Amazon.co.jp

Google Apps Script目的別リファレンス 実践サンプルコード付き 第3版

Amazon.co.jp

Google Apps Script クローリング&スクレイピングのツボとコツがゼッタイにわかる本

https://amzn.to/4dXDQr8

おしまい

リサちゃん
リサちゃん

スクリプトのロジックがバグってる訳じゃなかったんだあ

135ml
135ml

フォルダを作り忘れないようにな

以上になります!

コメント

タイトルとURLをコピーしました