0

特定のラベルが付いたすべてのメッセージのメール アドレス、メッセージ、および送信時間をスプレッドシートにインポートしようとしています。そのラベルには 1300 を超えるメッセージがあります。

これまでのところ、実行ごとに100メッセージで実行していましたが、それが制限であることがわかりましたが、500行をインポートした後、スクリプトが機能しなくなり、

「TypeError: undefined のメソッド "getMessages" を呼び出せません。(Línea 19)Ignorar」

私は何をすべきか?二時間待ち?一日待って?新しいスプレッドシートを開始しますか?

ありがとう、レオ

4

1 に答える 1

0

Gmail 読み取りのクォータは 10000/日です (ダッシュボードのクォータを参照してください)。エラーが他の場所から来ていないことを確認しますか? たぶん、使用するコードを提供できますか?

あなたのコメントに従って(コード情報に感謝します)、多くの時間がかかるこれらの多数の setValue() を回避することにより、コードを高速化することをお勧めします...代わりにこれを試してください:(コードの関連部分を置き換えます)

    var sheet = SpreadsheetApp.getActiveSheet(); 
    var toShow=new Array()
    for (var i = 502; i < 550; i++) { 
    var myThread = GmailApp.search("is:w-destino-mensajes")[i]; 
   if(myThread.length>0){
    var message = myThread.getMessages()[0]; 
    toShow.push([message.getDate(),message.getFrom(),message.getBody()]); 
}
    }
    sheet.getRange(startRow,2,toShow.length,toShow[0].length).setValues(toShow)

編集:あなたの問題は制限に関するものではないと思います.エラーメッセージを見ると、myThreadが空の値を返す場合があり、エラーが発生すると思います. getMessages を試行する前に、存在条件を追加してみることができます (上記のコードを参照)。

于 2012-06-18T09:06:25.703 に答える