如何在.NET中发布Google文档?
我正在使用.NET库与Google文档集成。它运行得很好,但我不知道如何使用它进行基于链接的web访问 这背后的基本思想是能够将文档上传到Google文档,并且能够在web环境(Google之外)中查看该文档,而无需使用Google凭据登录。据我所知,最好的方法是通过一个秘密链接发布,如上面链接的帮助文章所述 那么,有人知道如何在.NET中以编程方式发布谷歌文档吗 编辑 作为参考点,并作为更改文档上的ACL(即公开)和发布文档本身(如上面的链接所述)之间区别的说明,以下是Google Docs上相同文档的相应版本:如何在.NET中发布Google文档?,.net,google-docs,google-docs-api,.net,Google Docs,Google Docs Api,我正在使用.NET库与Google文档集成。它运行得很好,但我不知道如何使用它进行基于链接的web访问 这背后的基本思想是能够将文档上传到Google文档,并且能够在web环境(Google之外)中查看该文档,而无需使用Google凭据登录。据我所知,最好的方法是通过一个秘密链接发布,如上面链接的帮助文章所述 那么,有人知道如何在.NET中以编程方式发布谷歌文档吗 编辑 作为参考点,并作为更改文档上的ACL(即公开)和发布文档本身(如上面的链接所述)之间区别的说明,以下是Google Docs上
- ACL公共读访问|
- 发布到网络上|
AclEntry aclEntry = new AclEntry();
aclEntry.Role = new AclRole("reader");
aclEntry.Scope = new AclScope(AclScope.SCOPE_DEFAULT);
// documentEntry is the document that you want to publish and service is an
// authorized DocumentsService object.
AclEntry insertedEntry = service.Insert(
new Uri(documentEntry.AccessControlList), aclEntry);
我刚刚更新了.NET客户端库,现在您可以使用以下代码发布修订版(它假定
entry
是您要发布的DocumentEntry实例):
发布(至少在谷歌看来)和控制文档ACL似乎是两件完全不同的事情,尽管它们是相关的。修改ACL允许我授予对任何Google帐户的r/w访问权,但“发布”允许我呈现文档的web版本,并提供一个公共链接,我可以共享。一旦与默认范围共享(包括匿名访问),您可以使用文档的备用链接,使用
documentEntry.AlternateUri
在web浏览器上查看文档。在XML负载中,备用链接如下所示:
。是的,我知道。你还在谈论谷歌文档的ACL组件,但我在问它的发布组件。我知道我可以访问公共文档,或者使用链接访问我已获得ACL读取权限的文档,但这与发布Google Docs文档,并将其视为在web上发布的文档,而不是Google Docs文档完全不同。自己试一试——发布的文档的功能非常类似于网页,而Google Docs文档看起来像是在用MS Word或其他什么工具查看文档。很抱歉造成混淆,您可以通过编辑文档的修订版来发布文档,如前所述。在.NET中,这意味着检索修订条目、添加/更新文档:发布属性并发送此条目的更新请求。非常感谢您抽出相关文档。非常感谢。:)+非常感谢您继续为图书馆工作。感谢您发布此更新。:)
RevisionQuery revisionQuery = new RevisionQuery(entry.RevisionDocument);
RevisionFeed revisions = service.Query(revisionQuery);
// TODO: choose the revision you want to publish, this sample selects the first one
RevisionEntry revision = (RevisionEntry)revisions.Entries[0];
revision.Publish = true;
revision.PublishAuto = true;
revision.Update();