2013-08-19 113 views
2

簡而言之,我們所看到的是,如果我們創建新的實時文檔並立即與另一個協作者共享,並且該協作者在看到它時顯示其實時文檔「與我共享」文件夾,然後當該協作者嘗試向該文件寫入數據時,會發生錯誤,並且有時實時API將無提示失敗。Google實時API和共享權限時間問題

我們已經能夠通過以編程方式添加權限並使用Google雲端硬盤的共享對話框來重現這一點。以下是重現此錯誤的步驟。

  • 在兩個不同的谷歌登錄賬戶在不同的瀏覽器
  • 創建一個帳戶
  • 複製URL指向新的文件
  • 分享新創建的文件與其他帳戶的新的實時文檔通過輸入電子郵件地址
  • 儘可能快地驗證新文檔顯示在另一個帳戶的「與我共享」文件夾中,並將複製的URL粘貼到其他瀏覽器中以將文檔加載到其他瀏覽器中帳戶(我能夠重現該問題在我的機器上30秒內完成此操作時一直如此,但如果延遲時間至少爲35秒,則一切似乎都正常)
  • 當文檔加載到與帳戶共享時,嘗試將數據寫入文檔
  • 有時實時API崩潰默默
  • 如果在寫文檔使用混合操作,我們得到以下錯誤:
  • 驅動器的實時API錯誤:invalid_compound_operation: 打開化合物中的同步塊的結束操作 - 你忘了調用endCompoundOperation()?
  • 未捕獲 DocumentClosedError:文檔已關閉。

與新合作者共享現有文件時也會發生此問題。在我的機器上進行測試時,它似乎是一個計時問題,因爲當等待時間少於30秒時,我可以始終如一地重現該錯誤,並且在等待時間爲35時仍無法重現問題幾秒或更多。另一個有趣的發現是,這個問題似乎只與寫數據有關。我總是能夠正確讀取共享文檔中的數據,但是如果它是在30秒以內的情況下加載的,那麼當我第一次嘗試寫入數據時,問題就會發生。更讓人好奇的是,如果頁面被刷新,那麼即使在共享文檔的30秒內發生刷新,它也能正常工作。

謝謝。

回答