簡體   English   中英

禁用gmail api請求緩存

[英]Disable gmail api request caching

我正在使用javascript gmail api來使用threadId獲取電子郵件線程。 我使用以下代碼:

var request = gapi.client.gmail.users.threads.get({
  'userId': 'me',
  'id': '123abc'
});

request.execute(function(response) {

    var messages = response.messages;

});

這是第一次特定的threadId,它工作正常。 並且對於進一步的請求,即使線程有更多的電子郵件,它也會返回相同數量的消息。 但是,如果我從Chrome開發者工具 - 網絡選項中清除gapi網址的瀏覽器緩存,則響應會提供正確數量的電子郵件。

例:

- >使用threadId'123abc'執行請求,目前線程中有3封電子郵件。 對請求的響應是與長度為3正確response.messages

- >然后我再發一封電子郵件作為回復此帖子,然后再次執行相同的請求。 但反應仍然是舊的與長度為3 response.messages

- >嘗試多次運行相同的請求但得到相同的響應。

- >然后清除此URL的瀏覽器緩存並再次請求,現在響應正確, response.messages長度為4。

嘗試在html頁面中添加以下元標記,但不起作用:

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

嘗試添加隨機數與頁面網址和請求,但沒有工作。

嘗試使用gapi腳本鏈接添加隨機數,但無法正常工作<script src="https://apis.google.com/js/client.js?onload=AuthIt&cacheBurster=123123123123"></script>

是否有任何代碼可以禁用gapi請求緩存或任何其他方法來解決此問題?

最后通過在gapi請求中的'metadataHeaders'字段中添加一個隨機數來得到解決方案:

var request = gapi.client.gmail.users.threads.get({
  'userId': 'me',
  'id': '123abc',
  'metadataHeaders': Math.random()
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM