2014-11-03 36 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

相关问题