it-swarm.com.de

Ist es möglich, Google Mail-Nachrichten nach Zeitstempel abzufragen?

Ist es möglich, alle Google Mail-Nachrichten in einem Bereich zu durchsuchen, der genauer als der Tag ist?

Könnte ich beispielsweise am 4. Oktober von 15 bis 17 Uhr nach allen Chat-Nachrichten suchen? Wie würde das aussehen?

Anhand der erweiterte Google Mail-Suchreferenz habe ich festgestellt, dass sie bestimmte Zeiten erwähnen, aber das Format nicht angeben. Wahrscheinlich wird es nicht unterstützt, aber ich dachte, ich würde es überprüfen, nur für den Fall, dass ich es nur eingebe Suche im falschen Format ...

Beispiel: nach: 2004/04/16 vor: 2004/04/18

Bedeutung: Nachrichten, die zwischen dem 16. April 2004 und dem 18. April 2004 gesendet wurden. *

* Genauer: Nachrichten, die nach 12:00 Uhr (oder 00:00 Uhr) am 16. April 2004 und vor dem 18. April 2004 gesendet wurden.

13
oncifer

Die spezifischen Zeiten sind in der Dokumentation angegeben, um zu zeigen, dass der Operator "after" das angegebene Datum enthält, während der Operator "before" das angegebene Datum nicht enthält. Es gibt keine Möglichkeit, das Suchfeld für einen genaueren Zeitraum zu verwenden.

Wenn Sie Google Apps Scripts verwenden, können Sie Ihre Suche mit den besten Daten durchführen, die Sie haben. Anschließend können Sie die resultierenden Threads basierend auf der Zeit und anderen Kriterien filtern. Beispiel:

var threads = GmailApp.search("after:2014/09/01 before:2014/09/02",0,100);
var timeFrom = new Date("2014/09/01 10:00:00").getTime();
var timeTo = new Date("2014/09/01 13:00:00").getTime();

for (var i = 0; i < threads.length; i++){
  var timeThreadStart = threads[i].getFirstMessageDate().getTime();

  if(timeThreadStart > timeFrom && timeThreadStart < timeTo){
    //do something
  }
}
10
Pyrodogg

Es ist möglich, einen Zeitbereich mit einer Genauigkeit von bis zu einer Sekunde anzugeben, da die Suchoperatoren nach :, vor :, neueren :, älteren: Unix-Zeitstempel akzeptieren . Mit einem Tool wie Epoch Converter können Sie das herausfinden

  • 2014-10-04 um 15:00 Uhr (z. B. mit GMT) hat den Zeitstempel 1412434800
  • Fügen Sie zwei Stunden (7200 Sekunden) hinzu oder verwenden Sie dasselbe Werkzeug erneut: 1412442000

Wenn Sie nach after:1412434800 before:1412442000 suchen, werden die Nachrichten innerhalb dieses 2-Stunden-Bereichs zurückgegeben.

Da die Umstellung auf Unix-Zeit wie ein Arbeitsaufwand aussieht, habe ich ein Bookmarklet erstellt, das diese Ersetzung vornimmt.

Zum Beispiel nach dem Tippen

nach: 26.07.2015 10:00 vor: 27.07.2015 11:30

rufen Sie im Suchfeld (was nicht so funktionieren würde, wie es ist) das Lesezeichen auf, und die Zeichenfolge wird durch ersetzt

nachher: ​​1437919200 vorher: 1438011000

(Das Lesezeichen interpretiert die angegebenen Zeitstempel in Ihrer Ortszeit.)

Die Seite, die ich verlinkt habe, enthält sowohl die Quelle als auch einen ziehbaren Link zum Lesezeichen. Der Vollständigkeit halber wird der Quellcode auch unten veröffentlicht.

inp = document.querySelectorAll('input');
for (i in inp) {
  if (/(after|before|newer|older):/.test(inp[i].value)) {
    str = inp[i].value;
    times = str.match(/\d[\d\/: ]*\d/g);
    for (j in times) {
      if (Date.parse(times[j])) {
        str = str.replace(times[j], Date.parse(times[j])/1000);
      }
    }
    inp[i].value = str;
  } 
}
7
user79865