0

ここで認められた初心者です。我慢してください。私が賢明な質問をしていることを願っています。そうでない場合は、あなたの集合的な知恵を利用できるように支援してください.

Google Gmail アカウントに不要なメールがあります。
多くはマーケティング関連であり、7 日後には明らかに不要です。
ブラウザ Google または Firefox
OS WIN 7 Pro。

したがって、delete me フォルダーが割り当てられている 7 日間以上のメールを削除し、delete me 以外の割り当てをアーカイブしたいと考えています。

簡単な解決策を探して見つけた問題を示唆する小さなサンプル スクリプトのコードは次のとおりです。

function cleanUp() {
  var delayDays = 7 // Enter # of days before messages are moved to trash

  var maxDate = new Date();
  maxDate.setDate(maxDate.getDate()-delayDays);

  var label = GmailApp.getUserLabelByName("delete me");
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
    {
      threads[i].moveToTrash();
    }
  }
}

function archiveInbox() {
  // Every thread in your Inbox that is read, older than seven days, and not labeled "delete me".
  var threads = GmailApp.search('label:inbox is:read older_than:2d -label:"delete me"');
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToArchive();
  }
}

私の質問は次のとおりです。「delete me」が実行されていることをどのように確認できますか? [実行] をクリックすると、実行されていると表示されますが、何も起こらず、Gmail アカウントのメール数のサイズは同じです。

「archive me」スクリプトも実行しましたが、実行中であることを示していても何も起こらないようです。

4

1 に答える 1

2

次のリンクを調べると、コードのトラブルシューティング/デバッグのための優れた手順が提供されます: https://developers.google.com/apps-script/troubleshooting

また、Shahar と Arun が議論していることも説明していますが、より詳細です。

あなたの問題では、2 つの日付をそのまま比較することはできません。やったほうがいい:

if (threads[i].getLastMessageDate()< new Date(maxDate))

乾杯。

于 2013-08-15T17:39:28.960 に答える