【问题标题】:How to distinguish between a Google Doc and Spreadsheet with the URL?如何通过 URL 区分 Google Doc 和电子表格?
【发布时间】:2017-04-24 15:22:49
【问题描述】:

是否可以通过共享链接判断 URL 是否链接到 Google 表格、Google 文档或其他 Google 应用?

我正在开发的应用程序允许用户共享链接,但 iOS 设备上的 Safari 似乎不能很好地处理这些链接。为了帮助减轻用户的痛苦,如果已经安装,我们希望直接在表格、文档或其他任何最有效的 Google 应用中打开链接。我已经能够通过编辑提供的链接来完成此操作,替换:

https://

与:

googledocs://

或:

googlesheets://

但是,根据可共享的链接,很难判断该链接是 Google Doc、Google Sheet 还是其他所有内容。我最初认为 Google Sheets 使用 sheet.google.com,但在测试了这个更改后,我意识到 Sheets 和 Docs 都使用 docs.google.com 作为它们的共享链接。如果打开了错误的应用程序,Google 表格或文档将抛出错误,指出无法打开文件。

是否有一种简单的方法来区分并确保为任何给定的可共享链接打开相应的 Google 应用?

【问题讨论】:

    标签: google-sheets google-docs google-docs-api google-sheets-api


    【解决方案1】:

    绝对不是来自共享链接。可共享链接基本上只是对实际文档的重定向。这是一个独立于原始文档生成的哈希值,有意混淆以防止恶意方猜测它们。

    了解链接另一端内容的唯一方法是访问该链接或使用 Google Drive API 查询文档以获取信息。

    【讨论】:

    • 这是否意味着我可以查询 Google Drive API 以确定链接引用的文件类型,然后根据结果使用相应的 Google 应用打开文件?如果是这样,为什么 Google 会尝试隐藏文件类型?似乎如果我可以从我的应用程序中做到这一点,那么恶意应用程序也可以做到这一点。诚然,我对这类事情的经验有限,所以如果这个问题很明显,我深表歉意。只是想确保我在进行更改之前尽我所能理解这一点。我现在开始深入研究 Drive API 文档!谢谢你的信息,苏维特!
    • 他们没有隐藏文件类型,他们创建了一个完全独立的哈希,就像 URL 缩短网站(tinyurl 等)一样。它充当对任何资源的重定向。在这种情况下,它恰好是一个文档。
    • 啊,好的!我现在明白你的意思了。哈希是出于安全目的,用于生成哈希的逻辑不考虑文件类型。这很有意义。我只是误解了你最初的反应。我的错。感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2013-05-01
    • 2011-07-22
    • 1970-01-01
    相关资源
    最近更新 更多