2014-11-03 79 views
1

對於大約6個月,我們一直在使用不失敗項目instanceof gapi.drive.realtime.CollaborativeList來檢測屬性是否爲CollaborativeList。這在上週開始失敗,我們檢查了gapi.drive.realtime,並且似乎沒有出現CollabroativeList或文檔中描述的任何其他模型。 https://developers.google.com/drive/realtime/reference/。我們仍然能夠訪問標準驅動器功能,因此它不會出現身份驗證問題。使這個調用的函數被封裝在gapi.load(「drive-realtime」,function(){})中。有沒有任何線索爲什麼模型不再存在?Google Drive實時項目instanceof gapi.drive.realtime.CollaborativeList錯誤

gapi.load("drive-realtime", function() { 
    if("test" instanceof gapi.drive.realtime.CollaborativeList){ 
    console.log("hi") 
    } 
}) 

該函數將返回遺漏的類型錯誤:期待在instanceof檢查的功能,卻得到了不確定

這是因爲gapi.drive.realtime.CollaborativeList不gapi.drive.realtime

存在
+0

你能否加入一段代碼來證明問題? – 2014-11-04 21:58:53

回答

0

請參閱Brian對此問題的回答:Was the Drive Realtime API changed today?通常沒有理由訪問構造函數,因此可能會導致問題,因此訪問權限已被刪除。

什麼情況下你不知道它是否是一個協作列表?

+1

我們有兩個方案,我們需要知道它是否是一個列表或專門映射。 一個是當我們改變一個自定義對象,並需要看看我們的數據是否需要更新,比如item.parent是一個CollaborativeField,它曾經是一個字符串,但現在是一個數組。 其次是我們希望能夠將自定義實時對象導出到原始json對象以發送到驅動器以存儲爲不同的文件。我們可以爲每個自定義實時對象創建一個特定的函數,但是我們創建了一個通用函數,通過創建原始json對象的屬性遞歸對象。 – sdolphin 2014-11-05 21:52:30

+0

我看到..作爲一種解決方法,您可以鍵入唯一的公共函數名稱之一嗎?對於導出案例,您還可以考慮使用現有的導入/導出功能,而不是自行滾動。在Drive API中籤出realtime.get和realtime.update。 – 2014-11-05 22:23:51

+0

我也有興趣鑑定出於類似原因的協作對象的類型。使用函數名稱不是很健壯,因爲我們正在檢查文檔中包含的可能具有相同名稱的屬性的對象。聽起來像是一個等待發生的錯誤。我們可以檢查對象上是否存在任何公共函數以獲得更高的置信度,但我認爲如果提供官方方法會更好。即使構造函數未公開,也可能有一個函數返回給定對象的類型(List,Map,EditableString,或JsonValue)? – 2015-01-27 22:30:28

相關問題