Google Realtime无证件功能:' toJson'?

时间:2015-01-22 19:43:26

标签: javascript google-drive-api google-drive-realtime-api

Google Realtime模型对象上有一个方法'toJson',从Document.getModel()返回

doc.getModel().toJson()

似乎有两个参数,但Google开发人员或其他地方没有提供任何文档。该如何使用?

2 个答案:

答案 0 :(得分:4)

我们正在努力更新我们的文档,但我可以提供一个简短的摘要:

toJson(opt_appId,opt_revision)将实时模型转换为JSON表示形式,格式与导出REST端点(https://developers.google.com/drive/v2/reference/realtime/get)返回的格式相同。您可以将该JSON上载到导入REST端点(https://developers.google.com/drive/v2/reference/realtime/update)以更新现有的实时文档或创建新文档。如果您提供opt_appId或opt_revision,则会将它们传递给返回的JSON。导出REST端点会自动提供这些值,但导入端点会忽略它们,因此它们是可选的,仅供您参考。

gapi.drive.realtime.loadFromJson(json)从JSON创建内存中的实时文档。 JSON可以来自toJson()或来自导出REST端点。内存中的文档从不与Realtime服务器通信(isInGoogleDrive总是假的),因此您负责使用toJson()和您想要的任何存储来保存内容(例如HTML5本地存储,服务器上的存储或任何其他可以存储的内容)存储JSON)。

gapi.drive.realtime.newInMemoryDocument()创建一个新的空白内存文档。与loadFromJson()一样,此内存中文档未与Google云端硬盘同步,因此您有责任将其保留。

内存中文档像任何其他Realtime文档一样触发事件侦听器,并且大多数API正常工作,包括undo / redo。但是,没有协作,数据不会自动存储,某些功能(例如getCollaborators())会返回通用数据而不是用户特定数据。

我们很快会发布其他文档,但这是受支持的功能,而不是内部API。

答案 1 :(得分:1)

所以你最后的评论让我记忆犹新。虽然没有记录,但我认为这实际上是以下Drive API调用的终点:https://developers.google.com/drive/v2/reference/realtime/get。这有点奇怪,因为它不在Realtime API下,而是在Drive API下记录,但您既可以导出为JSON,也可以导入JSON结构。据推测,toJson函数会吐出与这些函数一起使用的兼容JSON,但我没有对此进行测试。

编辑:此外 - 看起来他们有更多有趣的无证功能与此相辅相成。特别是gapi.drive.realtime.loadFromJson是可用的,这可能是toJson的实际加载对应物。还有一个暴露的gapi.drive.realtime.newInMemoryDocument fn,它可能是一个初始化从'loadFromJson'加载的文档的内部函数。此外,还有“Document.isinGoogleDrive”,它很可能决定您是使用内存文档还是使用Drive支持的文档。有趣的东西:)。

相关问题