2016-02-05 248 views
2

我目前正在開發Google Drive和外部存儲之間的系統同步文件。我正在嘗試處理推送通知。我已經能夠註冊並接收它們。接收每個通知後,我獲得使用正確的終點,並嘗試在必要時獲得文件的新版本的更改列表,所以流動是這樣的:驅動器推送消息 - 通過垃圾郵件發送垃圾郵件

  1. 訂閱使用changes.watch
  2. 通知接收一些推送消息與URL的變化
  3. 使用API​​與提供的查詢到端點得到改變特定的時刻後,改變了
  4. 篩選項目
  5. 獲取文件的內容,並將其轉移到其他服務

看起來,在最初的通知消息後,谷歌開始發送一個新的垃圾郵件,總是得到文件後。我懷疑獲取文件內容的行爲正在改變文件中的某個時間戳,因此 - 其內容已更改。

獲取內容時,是否有可能不以任何方式修改文件?

編輯:

看來,這種行爲的擔憂files.export端點以及 - 導出谷歌文檔爲PDF導致垃圾郵件的通知也。在代碼中註釋輸出部分會阻止它們進入。

回答

0

由於Changes: watch收聽的是用戶所做的更改,而不是文件本身,因此您會收到垃圾郵件。

你需要在這種情況下使用的是Files: watch。它訂閱你聽文件本身的變化。

+0

我100%確定這些更新的原因是獲取文件。我檢查了通知消息 - 每個都描述了完全相同的更改,並且如果我僅註釋文件正在獲取部分 - 每次文件更改後我都會得到一個通知,如預期的那樣。 觀察變化是可行的解決方案,但獲取文件是一個有問題的部分。 – SzybkiSasza