我们有一个内置于 .Net (C#) 的内部网。我们希望我们的 CMS 能够从 Google Doc 中提取 HTML 内容以与其他内容集成。
具体来说,我们希望编辑器能够创建和维护 Google 文档,并将对该文档的引用(通过其 ID)嵌入到我们内部网上的页面中。渲染页面时,CMS 会联系 Google Docs,获取文档的 HTML 内容,并将其渲染为页面的一部分(是的,会涉及到缓存)。
我已经绕着 GData API 转了转。这比我想象的要难。
身份验证是通过 OAuth 进行的,所以我们要做的是为我们的 CMS 创建另一个 Google Apps 用户,这样我就可以获得身份验证。
但是一旦我检索到一个文档,里面就没有 HTML。有多种属性(包括一个叫作“Content.”的属性,它不是),但我看不到文档的实际 HTML 内容。它似乎有关于文档的各种信息,除了内容本身。
数小时的谷歌搜索和研究告诉我,我可能必须形成导出 URL,然后通过 HTTP 将其下载为 HTML 文件。我可以在浏览器中执行此操作——只需粘贴正确的 URL,就可以了。
但我不能从代码中做到这一点。当然,我可以发出 HTTP 请求,但它不携带我已经通过的身份验证来获取文档对象本身。
所以,两个问题:
- 有没有更简单的方法来做到这一点?我有一个挥之不去的怀疑,我认为这一切都是错误的。
- 如何在经过身份验证的用户的上下文中向 Google Docs URL 发出 HTTP 请求?