首页 > 解决方案 > 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 配置,一切似乎都已启用。

标签: rubygoogle-apigoogle-drive-apigoogle-docs-api

解决方案


目前,Google drive api 不支持本地 google drive 文件(google 文档、表格等)的内容下载,因此您无法下载内容(当前或旧版本),您只能将其导出为不同的 mime 类型。


推荐阅读