任何人都可以帮助或启发我的问题:
我是一名Java开发人员,我有一个名为GDrive App的现有智能打印机应用程序。它使用Google Drive API(oauth 2.0,gdata-version 2.0和3.0用于下载打印文件)。
直到现在这已经工作了几个月。实际上,这次只有下载打印部分不再工作,我仍然可以访问应用程序(检索文件,创建文件夹,搜索和删除文件)。
实际问题: 当我尝试下载文件(到输入流)进行打印时,我一直收到401错误。这令人困惑,因为我已经在请求期间提供了所有必要的信息。它已经工作了好几个月。没有更改代码。怪异。
我有这个标题: [授权:bearer ya29.CjAkA8uPBUsKWYMSEDpPxUbP_vtQJOKfCZ7O8I4GkpUkN70bGgnDTAVYiVW2m353H2Y ,GData-Version:3.0 ]
执行此URL以下载和打印资源时,我无法访问此内容。
答案 0 :(得分:0)
错误401表示您未获得正确授权。很可能您使用的ya29.CjAkA8uPBUsKWYMSEDpPxUbP_vtQJOKfCZ7O8I4GkpUkN70bGgnDTAVYiVW2m353H2Y
访问令牌已过期,您必须请求另一个。
您应该编写代码以预测授予的令牌可能不再有效的可能性。由于以下原因之一,令牌可能会停止工作:
- 用户已撤销访问权限。
- 该令牌已使用六个月。
- 用户更改了密码,令牌包含Gmail,日历, 通讯录或环聊示波器。
- 用户帐户已超过一定数量的令牌请求。
您可以使用GoogleAuthorizationCodeTokenRequest来请求访问令牌,也可以使用刷新令牌。