【发布时间】:2014-02-03 03:26:23
【问题描述】:
Google Drive API 遇到一个非常令人沮丧的问题。
这是一个 Google App Engine Java 环境。
我需要根据离线权限下载文件 - 文件与授予离线权限的用户共享(“可以编辑”)。我请求完整的https://www.googleapis.com/auth/drive 范围。我存储了这个生成的刷新令牌。
然后,应用程序使用此刷新令牌来获取访问令牌,用于尝试下载文件。如果文件是 Google Apps 文件(Google 文档、电子表格等),则此文件有效,但如果文件是包含内容的上传文件(例如 PDF 文件、Word 文件等),则返回 401。我可以通过在共享 URL 中附加 ?access_token=xxxx 来简单地确认这一点 - 这适用于 Google Apps 文件,但不适用于上传的普通文件,该文件在 webcontentlink url 上是 401。请注意,https://www.googleapis.com/drive/v2/files/ 端点使用访问令牌正确响应上传文件的元数据,该访问令牌随后在下载调用中失败。
来自直接 url 调用(使用 access_token=)或 servlet 调用的完整 html 响应是
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
云端硬盘中的非原生文件的离线 Google 身份验证是否存在已知问题?
【问题讨论】:
标签: google-drive-api google-oauth