2

スレッド内の各電子メールメッセージのフォルダーを作成し、本文 (pdf として) とすべての添付ファイル (それらが何であれ) をそのフォルダーに保存することになっているコードがあります。

添付ファイルを保存するためのループなしで実行すると、問題はありません。(まあ、別のスレッドには別の問題があります)。添付ループのコメントを外すと、

Service invoked too many times in a short time: driveWriteVolume rateMax. Try Utilities.sleep(1000) between calls. (line 156, file "Code")

フォルダーまたはファイルを作成するすべての行の後に a が続き、Utilities.sleep(sleepTime);sleeptime は現在 1000 に設定されています。変更しても効果がないようです。

問題のあるコードは次のとおりです。

        // Save attachments
        for(var i = 0; i < messageAttachments.length; i++) {
          var attachmentBlob = messageAttachments[i].copyBlob();
          newFolder.createFile(attachmentBlob);
          Utilities.sleep(sleepTime);  // wait after creating something on the drive.
        } // each attachment

newFolder.createFile(attachmentBlob);エラーを引き起こすのは行です。

私は、 driveWriteVolume rateMax とは何ですか?を見てきました。とヘルプのための断続的な DriveWriteVolume rateMax 例外があり、何も見つかりませんでした。

添付ファイルのループをコメントアウトし、メッセージ本文を PDF として保存するだけであれば、保存する電子メールの数に関係なく、問題はないことに注意してください。エラーが発生すると、最初の添付ファイルを保存するはずだった場所でスクリプトが終了しました。ですから、ある種の制限を超える以外に何か問題があると思います。

4

1 に答える 1