2

首先,很抱歉使用该频道,但是对于 Drive SDK 问题,没有其他“开放”的沟通渠道。

看,问题是,如果您尝试访问您无法从浏览器访问的 Google Drive 文档,您会收到一个很好的警告,允许您请求访问该文件(因此,您会得到 CONFIRMATION 该文档存在,并且您无权访问它)。

如果您尝试从 API 访问您无权访问的文件,则会收到 404,这并不能确认该文档存在。

这太糟糕了,特别是在您的 Google Apps 域上工作时,即:我今天可能可以从用户 U 访问文件 X,而明天用户 U 将无法从 API 访问该文件(即:所有权变更)我将得到 404绝对没有指向我应该在哪里查找该文件或者它是否存在的指针!

在浏览器中,您只需“请求访问”并等待,但在 API 中,您有两个选择:a)假设文件已消失或 b)从您知道的每个用户帐户中查询该文件。

所以,这符合我的建议/要求:当有更好的代码时,请不要响应 404,403 会很好。另外,请在响应代码上添加一个关于“去哪里”的指针。您也可以保留 404,但添加“所有者”的指针。

最后,为服务帐户找到某种方法来搜索域内的所有内容:)

谢谢,马克

4

1 回答 1

0

感谢您提出这个问题。API 和用户案例之间存在细微差别:使用 API,发送大量随机 ID 以查找文件要容易得多。如果我们在文件存在但尚未共享的情况下返回 403,这会将一些信息泄漏给运行它的脚本。如果您无权访问该文件,则您无权知道它是否存在。

在用户案例中,要尝试多个文件 ID 直到找到所需的 ID 会困难得多。它只是在浏览器中花费的时间太长,因此这是一个更可接受的风险。例如,如果您单击链接,则您已经知道该文件存在,因此不会泄露任何额外信息。

搜索域中所有文件的服务帐户是一个很好的功能请求,谢谢。不过现在不可用,抱歉。

于 2012-11-12T21:08:54.380 回答