2012-08-22 54 views
2

我的web应用程序使用SDK查询用户Google Drive存储库,然后向用户呈现文件列表,我想利用缩略图并显示文件缩略图图像。Google云端硬盘缩略图链接没有Google Apps域信息

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

从检查缩略图链接看,没有Google Apps域信息,但是当检查alternativeLink(它允许您在适用的情况下以Google文档打开文件时)时,此链接确实具有Google Apps域特定信息,并且不需要您选择它应该被访问的帐户。

有什么我失踪了吗?或者这是一个缺陷?

回答

2

奇怪的是,我只是测试和不同的事情上工作我的2个帐户:

普通文件(PDF,图片...)的图像始终是公众和始终可见,即使我没有登录到任何帐户。

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

也有没有办法使用OAuth来显示缩略图,这样做时我得到一个401错误。

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

+0

感谢您的快速回复。只是为了澄清,当你说缩略图应该始终公开这是什么意思?我不希望未经授权的用户看到重要文档的缩略图,我认为这不是你的意思。理想情况下,缩略图链接的编码链接与维护Google Apps域时的编码链接类似。 – David

+0

作为现在的解决方法,我可以使用类似下载和缓存缩略图: 'HttpResponse resp = _drive.getRequestFactory()。buildGetRequest(new GenericUrl(file.getThumbnailLink()))execute();' – David

+1

正如我所说:现在每个常规文件的缩略图都是公开的(但是URL是一个非常长的散列,甚至很难暴力),但是每个gDocs的大拇指都不公开。我已经问过工程团队,如果这是他们打算或不打算的行为,为什么:)我们会看看他们说什么。对我而言,如果大拇指始终是私密的(或者如果文件是公开的,则是公开的)并且需要cookie认证或OAuth 2.0认证。当我听到回复时,我会回复你:) – Nivco

相关问题