如何以编程方式获取谷歌文档演示文稿的视图网址?

时间:2012-07-02 09:31:52

标签: google-docs google-docs-api google-drive-api

最近谷歌文档演示文稿的网址发生了变化:

例如来自网址:https://docs.google.com/present/edit?id=[docId]

https://docs.google.com/presentation/d/[docId]/edit

我在我的应用程序中遇到了这个问题,因为我正在修改编辑URL以通过替换'编辑'来查看在视图模式下的演示文稿。查看以便网址变为:https://docs.google.com/present/view?id=[docId]

但现在要在查看模式下查看演示文稿,我需要替换“编辑”#39;使用'预览',以便网址为https://docs.google.com/presentation/d/[docId]/preview

但是在我的应用程序中我还有旧的演示文稿以及新的演示文稿,我需要决定,如果这是一个旧的,而不是替换为' view'别的'预览' (我可以通过检查网址来确定它是新的还是旧的)。但我的问题是这种方式是正确的还是在Java API中有任何方法可以通过它直接获取演示文稿的视图/预览模式URL。 我尝试过使用getDocumentLink().getHref()方法和getHtmlLink().getHref()方法,但两者都为我提供了编辑模式网址。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为目前这是唯一的方法,因为没有API功能总能为您提供演示文稿/视图网址。

然而,您可以使用的最接近的是embedLink

例如,在Google Drive v2 API中,您会找到:

对于较新的演示文稿:

"alternateLink": "https://docs.google.com/presentation/d/1aJMN10R9JSWtSVBxhrW1J6v1mc3iEt91WQtyesge0N8/edit",
"embedLink": "https://docs.google.com/presentation/d/1aJMN10R9JSWtSVBxhrW1J6v1mc3iEt91WQtyesge0N8/preview",

对于较旧的演示文稿:

"alternateLink": "https://docs.google.com/present/edit?id=0Ad-4449Da_xrZGZtbjNuenBfMTE0ZzhudzVkaGY",
"embedLink": "https://docs.google.com/present/embed?id=0Ad-4449Da_xrZGZtbjNuenBfMTE0ZzhudzVkaGY&size=m",

虽然对于较旧的演示文稿,您将获得嵌入小部件URL,而不是IMO不那么好的演示文稿URL。

这应该在理论上自我解决,因为我们希望将旧系统的所有演示文稿转换为新系统可能在今年的某个时间(但没有承诺,因为这个转换过程非常棘手)。