ruby - google drive api在下载文件内容时返回403禁止
问题描述
我正在尝试使用 Ruby Google::Apis::DriveV3::DriveService#get_revision的 google drive api 下载文件的先前版本的内容:
Tempfile.create('file_revision-', encoding: 'ASCII-8BIT') do |temp_file|
drive_api_service.get_revision(file_id, revision_id, download_dest: temp_file)
# work with the content
end
我不断收到Google::Apis::ClientError
状态码 403,原因短语“禁止”。范围https://www.googleapis.com/auth/drive
已启用,并且仅当我尝试下载修订内容时才会出现错误。如果我在没有参数的情况下运行代码download_dest
,则请求成功且没有任何问题。我还能够获取任何元数据或修订、导出文件、上传文件等,仅当我尝试通过get_file
或获取内容时才会出现问题get_revision
。
有没有人遇到过这个问题?是否需要特别添加其他权限才能允许内容下载?
我还查看了有关堆栈溢出的其他问题,并检查了我能找到的所有可能的 google drive api 配置,一切似乎都已启用。
解决方案
目前,Google drive api 不支持本地 google drive 文件(google 文档、表格等)的内容下载,因此您无法下载内容(当前或旧版本),您只能将其导出为不同的 mime 类型。
推荐阅读
- php - Laravel 中所有控制器的通用文件上传
- html - django使用html模板将数据插入数据库
- python - 像“The LJ Speech Dataset”这样的数据集
- python - 为了使用 Python 从 Rust 程序内部调用函数,最佳实践是什么?
- verilog - JK 触发器状态图实现的错误输出
- kubernetes - 如何查看上下文的完整详细信息(如令牌)
- java - 无法获取端口上的服务详细信息?
- c# - 无法在 IIS 服务器和客户端上启动 Web 应用程序
- css - AngularJS Material:自定义组件中没有滚动条
- java - Java - 安全性已开启,但我仍然可以发送任何我想要的请求