【问题标题】:Google Drive Thumbnail Link does not have Google Apps domain informationGoogle 云端硬盘缩略图链接没有 Google Apps 域信息
【发布时间】:2012-08-23 08:16:15
【问题描述】:

我的网络应用程序使用 SDK 查询用户 Google Drive 存储库,然后向用户显示文件列表,我想利用缩略图并显示文件缩略图。

如果用户仅登录一个 Google 帐户,缩略图将按预期显示。但是,如果用户一次登录多个用户帐户(我们总是这样),图像就会损坏。通过手动复制缩略图链接并将其输入浏览器,您必须首先选择要访问链接的帐户。

通过检查缩略图链接,没有 Google Apps 域信息,但是在检查替代链接(可让您在适用时将文件作为 Google 文档打开)时,此链接确实包含 Google Apps 域特定信息,并且不需要您选择应该访问的帐户。

我有什么遗漏吗?或者这是一个缺陷?

【问题讨论】:

    标签: java google-drive-api


    【解决方案1】:

    这很奇怪,我刚刚进行了测试,但我的 2 个帐户的工作方式不同:

    对于常规文件(PDF、图像...),图像始终公开且始终可见,即使我没有登录任何帐户。

    对于本地 Google 文档文档,如果我已登录,我只会看到图像。 当多次登录时,我没有得到帐户选择器,但对于非 gmail 帐户,它总是失败。 PS:显示图像的解决方法,您可以附加 URL 参数:&authuser=1(或 0),具体取决于您登录的顺序,这就是它无法以编程方式使用的原因。

    也没有办法使用 OAuth 来显示缩略图,这样做时会出现 401 错误。

    IMO 这是一个错误,理论上缩略图应该始终是公开的。我已向我们的工程团队提交了一个错误,我会及时通知您。

    【讨论】:

    • 感谢您的快速回复。澄清一下,当您说缩略图应该始终公开时,这是什么意思?我不希望未经授权的用户看到重要文档的缩略图,我认为这不是您的意思。理想情况下,缩略图链接的编码方式与编辑链接的编码方式相似,因为它维护了 Google Apps 域。
    • 作为目前的解决方法,我可以自己下载和缓存缩略图,使用类似:HttpResponse resp = _drive.getRequestFactory().buildGetRequest(new GenericUrl(file.getThumbnailLink())).execute();
    • 正如我所说:现在每个常规文件的缩略图都是公开的(但是 URL 是一个非常长的哈希,甚至很难暴力破解)但是每个 gDocs 的缩略图都不是公开的。我已经询问了工程团队,这是否是他们想要的行为以及为什么:) 我们会看看他们说什么。是的,对我来说,如果拇指始终是私有的(如果文件是公共的,则为公共的)并且需要 cookie auth 或 OAuth 2.0 auth 会更有意义。当我收到回复时,我会回复你:)
    • 再次感谢。您知道缩略图 URL 是永久链接还是过期?
    • 认为你可能会过期(每 24 小时)我会确认一下 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多