Ich benutze JavaScript Gmail API, um E-Mail-Threads mit threadId abrufen. Ich verwende den folgenden Code ein:Deaktivieren Sie Google Mail API-Anfrage Caching
var request = gapi.client.gmail.users.threads.get({
'userId': 'me',
'id': '123abc'
});
request.execute(function(response) {
var messages = response.messages;
});
Zum ersten Mal für einen bestimmten Thread es funktioniert gut. Und für weitere Anfragen gibt es die gleiche Anzahl von Nachrichten, auch wenn der Thread mehr E-Mails hat. Aber die Antwort gibt die richtige Anzahl von E-Mails, wenn ich den Browser-Cache der Gapi-URL aus der Chrome-Entwickler-Tools - Netzwerk-Option löschen.
Beispiel:
-> die Anforderung mit einem '123abc' ThreadID Ausgeführte, derzeit der Faden 3 E-Mail darin. Die Antwort für die Anforderung ist korrekt mit der Länge 3 für response.messages
.
-> Dann schickte ich eine weitere E-Mail als Antwort auf diesen Thread, dann die gleiche Anfrage erneut ausgeführt. Aber die Antwort ist immer noch die alte mit der Länge 3 für response.messages
.
-> versucht, die gleiche Anfrage oft, aber immer die gleiche Antwort.
-> Dann löschte der Browser-Cache für diese URL und erneut angefordert, jetzt ist die Antwort korrekt mit der Länge 4 für response.messages
.
Versuchte in der HTML-Seite folgende Meta-Tag hinzufügen, aber hat nicht funktioniert:
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
Versucht eine Zufallszahl mit der Seiten-URL und der Anforderung hinzufügen, aber hat nicht funktioniert.
Zufallszahl mit gapi Skript Link Versuchte hinzufügen, aber nicht <script src="https://apis.google.com/js/client.js?onload=AuthIt&cacheBurster=123123123123"></script>
jeder Code gapi Anfrage Caching oder eine andere Methode zu deaktivieren, um dieses Problem zu lösen, ist es nicht funktioniert?
Dies wird mit dem Caching-Problem umgehen, aber wenn Sie, wo das Format 'metadata' zu verwenden, Sie In der Antwort werden keine Header angezeigt. Dies geht aus der Dokumentation von [metadataHeaders] (https://developers.google.com/gmail/api/v1/reference/users/threads/get#parameters) hervor. – Tholle
Aber ich denke, es ist möglich, mehrere Werte für die metadataHeaders-Datei hinzuzufügen –
Das stimmt. Wenn Sie die gewünschten Header + Math.random() hinzufügen, wird es eindeutig sein. Clever. – Tholle