insertImageでエラー

24 views
Skip to first unread message

Tsuyoshi Kise

unread,
Mar 5, 2025, 7:00:12 AMMar 5
to Google Apps API Japan
業務でデータを集計しグラフを描画するGASを使っています。
毎日深夜に定期実行していて2/28までは問題なく動作していました。しかし3/1から「 Error: The image could not be inserted. Please verify it is valid and try again.  」というエラーメッセージが出て実行できなくなりました。
元のファイル上ではグラフを画像化して、それを貼り付けていましたがデバッグで問題点を絞り込むとinsertImageのメソッド自体がエラーを吐いていることがわかりました。
以下はinsertImageの動作確認用のシンプルなコードとその実行結果です。

function insertImageDebugTest(){
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const summarySheet = ss.getSheetByName('forDebug');
  const fileId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // Google Drive のファイルIDを指定

  try {
    const file = DriveApp.getFileById(fileId);
    Logger.log("File found: " + file.getName());

    const blob = file.getBlob();
    Logger.log("MIME Type: " + blob.getContentType());
    Logger.log("Blob size: " + blob.getBytes().length);

    // 画像が取得できているか確認
    if (blob.getBytes().length === 0) {
      throw new Error("Blob is empty. The file might be corrupted or not accessible.");
    }

    summarySheet.insertImage(blob, 1, 1).setWidth(323).setHeight(140);
    Logger.log("Image inserted successfully");

  } catch (e) {
    Logger.log("Error: " + e.message);
  }
}

19:41:22
お知らせ
実行開始
19:41:21
情報
File found: testImage.png
19:41:21
情報
MIME Type: image/png
19:41:22
情報
Blob size: 1299
19:41:27
情報
Error: The image could not be inserted. Please verify it is valid and try again.
19:41:31
お知らせ
実行完了

また、その他これまでにわかったことを下記します。
・新しいスプレッドシート上ではinsertImageのテスト用コードはエラーなく動作します。
・元のファイルを複製してもエラーなく実行可能です。
・元のファイル内の別シートではエラーになります。
・バージョン管理でエラーが起こるようになった2/28の履歴を確認しましたが、特別な操作は見当たりません。
・この問題以外はGASでいろいろコードを書いていますが問題なく動作しています。

別のファイルなら動作するのでコードの問題と言うよりも何かしらの不具合や、ファイルの共有や権限等の設定の問題を疑っていますが、insertImageで上記のエラーメッセージが出るこの事象について情報お持ちの方いらっしゃいましたら是非コメント下さい、よろしくお願いします。
Reply all
Reply to author
Forward
0 new messages