我正在尝试制作用于从Google帐户备份/恢复文档的工具 . 备份很简单,我没有任何问题 . 但我有两个未解决的问题需要恢复:
1)是否可以上传现有文件的新版本?当我上传文档时,它显示为单独的副本 .
我发现它已经在这里讨论Upload and replace file in given folder on Google Docs using .net api,但似乎建议只是在上传新版本之前删除旧版本,文档的ID将被更改 . 它是否正确?
2)Google文档限制了可以转换为内部格式的文档大小 . http://docs.google.com/support/bin/answer.py?hl=en&answer=37603 . 因此,可以创建大型文档,将其保存到本地计算机,然后Google Docs将拒绝转换它,因为文档的大小超出限制 . 在这种情况下,可以在不转换的情况下上传文档,但它通过网站变得不可编辑 . 这种情况有一些解决方法吗?
Unable to upload large files to Google Docs - 这是建议在上传之前将文档分成小块并在之后将它们链接在一起 . 但也许有其他一些想法?
1 回答
1. Is it possible to upload new version of existing document? When I upload document, it appears as separate copy.
是的,这是可能的 . 我们称之为“上传和替换” . 无需先删除现有版本 . 以下链接介绍了如何在协议中执行此操作:
http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#UpdatingMetadataAndContent
从.NET客户端库,您需要做的是将输入流附加到Update()请求 . 您需要的方法 Headers 是:
http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/src/core/service.cs#554
创建一个包含新文件内容的流,然后将其传入 . 应该是它!
2. Google Docs have limit for size... Is there some workaround for this situation?
遗憾的是,目前没有办法规避转换文档的大小限制 . 它们必须作为未转换的文件上传,因此无法在Google文档用户界面中进行修改 .