1

我是 iPhone 应用程序和 GData API 的新手。我想将 Google Documents 用作我的多用户应用程序的数据存储,需要控制对数据的访问权限:

如果第一个用户获取数据,那么他可以读取和写入它,所有其他用户将只能读取。但是当第一个用户完成他的数据工作并退出应用程序时,我希望第二个用户获得写入权限。

请帮助我找到解决此问题的方法。

我的想法是这样的:我需要有两个文件,“ApplicationData”文件,我的数据将存储在其中,以及“DataInfo”文件,其中使用数据的用户的名称将按正确的顺序存储。当第一个用户退出时,他会删除“DataInfo”中带有他名字的第一行。所有其他只有读取权限的用户必须每分钟(例如)下载“DataInfo”并检查情况是否发生变化。但我很怀疑,这是解决我的问题的好方法。我不认为,这对大量用户如此频繁地下载相同的文件有好处。

有任何想法吗 ?

4

1 回答 1

0

锁定其他用户可能无法可靠地工作,因为应用程序几乎肯定会在文档意外退出时忽略“解锁”文档。

只要上传到 Google Docs 的更新在文档条目中具有正确的 ETag 属性 (gd:etag),那么尝试更新文档的客户端应用程序将收到一个错误,表明服务器上的文档已更改。然后,客户端应用程序必须从服务器下载版本并协调差异(如果有)。

如果不同的用户试图编辑同一个文档,您可能需要为该文档设置适当的访问控制列表条目,以便所有用户都可以访问该文档。

虽然 Google Docs 旨在用于多个用户之间的同时、实时协作,但 Docs API 不是。在多个用户积极尝试使用同一个文档的情况下,您可能需要创建自己的服务器以获得可靠的解决方案。

于 2010-11-07T19:41:21.490 回答