[英]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.