Google 云端硬盘文件列表:500 错误

2024-03-02

对于我们的应用程序,我们使用具有 2 足授权的 Google Drive SDK。 我们使用 Drive SDK 很长时间了,但今天我们遇到了 Files.list API 的新问题(https://developers.google.com/drive/v2/reference/files/list https://developers.google.com/drive/v2/reference/files/list)。对于来自不同域的某些用户,我们收到以下错误:

{“错误”:{“代码”:500,“消息”:空}}

Drive SDK 一切正常吗?这个错误是什么意思?


我建议阅读此内容post https://stackoverflow.com/a/13543366/453348这帮助我使用 Android 配置并连接到 Google Drive

EDIT:

我有相同的 500 错误服务器,为了避免这个错误 Google 推荐Exponential backoff https://developers.google.com/drive/manage-uploads?hl=en#exp-backoff据他们说:

指数退避是网络的标准错误处理策略 客户端定期重试失败请求的应用程序 在越来越长的时间内。如果请求量很大或 网络流量过大导致服务器返回错误,呈指数级增长 退避可能是处理这些错误的一个好策略。反过来, 它不是处理与以下内容无关的错误的相关策略 速率限制、网络量或响应时间,例如无效 授权凭据或文件未找到错误。

使用得当,指数退避可以提高效率 带宽使用,减少了获取数据所需的请求数量 成功响应,并最大化请求的吞吐量 并发环境。

Example:

安卓代码:

FileList files = null;

for (int n = 0; n < 5; ++n) {

   try {
      setStatus("trying n = " + n);
      files = service.files()
        .list()
        .setMaxResults(1)
        .setQ("mimeType = 'application/vnd.google-apps.folder' and title = 'folder_title'")
        .execute();
   }
   catch (GoogleJsonResponseException e)
   {
      if (e.getDetails().getCode() == 500) {
        try {
            Thread.sleep((1 << n) * 1000 + randomGenerator.nextInt(1001));
            setStatus("sleep() n = " + n);
        } catch (InterruptedException e1) {
            // TODO Auto-generated catch block
            setStatus("InterruptedException n = " + n + " " + e1.getMessage());
            e1.printStackTrace();
        }
      }
   }

}

我已经测试了这段代码,在最后一次尝试中它连接成功

Google 建议对 4xx 和 5xx 服务器使用指数退避error https://developers.google.com/drive/handle-errors

The 4xx 服务器 https://developers.google.com/drive/handle-errors#implementing_exponential_backoff错误主要是身份验证问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 云端硬盘文件列表:500 错误 的相关文章

  • 查询根目录下的文件和文件夹列表

    我想获取根目录中的文件和文件夹列表 而不必对所有文件进行排序 是否有一个查询可以做到这一点 根文件夹也可以使用名为 root 的特殊别名来寻址 因此您可以使用以下查询获取根文件夹中的所有文件和文件夹 https www googleapis
  • 从谷歌驱动器中永久删除文件

    如何使用谷歌脚本永久删除谷歌驱动器上的文件 我发现只有方法setTrashed 它将文件移至垃圾箱 但如何永久删除文件 Apps 脚本能够访问 Google API 但您需要在使用它们之前显式启用它们 Drive API 可用于删除文件 驱
  • 从谷歌colab中的驱动器读取文件

    我已阅读notebook https colab research google com notebooks io ipynb关于如何打开驱动器 我已经按照指示使用 from google colab import drive drive
  • 如何停止在从 Google 云端硬盘下载时记住和应用文件扩展名

    我上传了混合负载的文件 图像 文档 pdf 所有文件扩展名为 dc 文件是否根据基础类型进行转换 作为迁移过程的一部分 我使用 Google Apps 脚本重命名这些文件并应用适当的文件扩展名 例如 pdf 选择其中任何文件并将结果下载到扩
  • 在创建命名文件夹之前检查其是否存在

    我正在尝试将 Google Drive 中的特定文件插入到文件夹中 我还想检查是否有一个具有名称的文件夹 testFolder 如果是 则将文件插入到已存在的文件夹中 否则创建一个名为 testFolder 这是我到目前为止所想到的 但它总
  • Drive API 请求中未列出任何 Google 云端硬盘文件

    我正在尝试使用桌面应用程序获取 Google 云端硬盘中的文件列表 代码如下 def main argv storage Storage drive dat credentials storage get if credentials is
  • 如何使用 Google Drive API 通过服务帐户访问域中的共享文件?

    我一直在尝试从 Python 3 7 脚本访问有关 Google Shared Drive 文件的一些简单信息 上次修改共享云端硬盘上的 Google 表格文件的时间 我创建了一个服务帐户在 GCP Drive API 菜单中 它可以通过
  • Google 服务帐户用户界面

    我怎样才能登录谷歌服务帐户 https developers google com identity protocols OAuth2ServiceAccount使用普通的网络用户界面 例如谷歌驱动器 https www google co
  • 使用 Android 将文本文件上传到 Google Drive

    编辑 我已将文本设置为字符串 如下所示 字符串文本 你好 我想将其转换为纯文本文件 然后上传到 Google 云端硬盘文件夹 我已经尝试过下面的代码 但它不完整 所以我无法说出出现了什么错误 我正在使用 Google Drive 快速启动
  • 具有桌面应用程序安全性的 OAuth2

    我有一个 Electron 应用程序 它基本上是一个 Google Drive 客户端 我打算使用 OAuth 2 但是 Google API 要求我在生成 client secret 的地方注册我的应用程序 由于这是一个桌面应用程序 因此
  • 删除 Safari 上的 CORS Accept-Encoding 标头

    我制作了一个 javascript 书签 它可以访问公共共享的 google drive 文件夹上的字节混洗图像 因此我制作了 ArrayBuffer CORS 在 Firefox Chrome Opera 甚至 Safari 5 some
  • 从 google Drive 自行下载 xlsx 文件

    所以 我正在尝试制作一个小脚本 它将使用谷歌驱动器API下载一个Excel文件 通过遵循谷歌API教程 我遇到了两个错误 无法读取未定义的 on 属性 和 请求的转换是不支持 这是代码 const fs require fs const r
  • 有 Google Keep API 吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google Keep 有 API 吗 我想为 Google Keep 制作一个 Windows 8 应
  • GoogleDrive + Alamofire:上传具有属性的文件

    我正在尝试通过 Swift 2 Alamofire 将文件 参数上传到 Google Drive 在下面的代码中 我更改了以下行 https www googleapis com upload drive v3 files uploadTy
  • 上传时的 Google Drive API——这些额外的空行从何而来?

    总结一下该程序 我从我的 Google 云端硬盘下载一个文件 然后在本地计算机中打开并读取一个文件 file a txt 然后在我的计算机中打开另一个文件 file b txt 处于附加模式 并且在使用这个新的 file b 更新我的 Go
  • 警告:无法更改每个人的权限:

    当运行 Java 快速入门示例时https developers google com drive web quickstart java hl hu https developers google com drive web quicks
  • 在 Google 表格脚本中设置活动单元格的值

    我想创建一个公式 在某个单元格更改上创建时间戳 下面的代码就可以了 我现在想做的是将公式转换为纯文本 将该时间戳锚定到工作表上 如果您手动执行此操作 您将选择时间戳 复制它们并将它们粘贴为值 我不想手动执行此操作 因此我创建了下面的脚本 它
  • 如何同时使用 Google Drive API 和 Chrome Web Payments 许可 API

    更新以澄清问题 在尝试在我们的测试应用程序中使用 google Drive 示例应用程序 Dr edit for php 时 该应用程序已经成功实现了许可 API https developers google com chrome web
  • 如何通过 Apps Script & Drive SDK 创建新的脚本文件

    尝试通过在 Apps 脚本中调用 Drive SDK 来创建包含文件的新项目 下面的内容到底会放在哪里UrlFetchApp要求 files id 9basdfbd 749a 4as9b b9d1 d64basdf803 name Code
  • 列出 Google 云端硬盘上特定演示文稿/文档的所有共享用户

    我们需要一份完整的列表 列出已获得 Google 云端硬盘上特定演示文稿 文档的 共享 查看权限的人员 我们有屏幕截图 但可能还不够 我们如何以编程方式检索这些信息 附加到 a 的属性File对象包括三个与用户相关的项目 Owner 一个单

随机推荐

  • iOS 上运行的问题

    我已经在 3 台不同的计算机上进行了尝试 但仍然存在相同的问题 导致我无法在 Mac 上运行该项目 当我使用 Windows 并连接到 Mac 来运行时 所有 3 台计算机上都显示相同的错误 显示的错误消息 无法解析参考 Library F
  • Visual Studio 2013 对项目中所有引用的黄色警告

    我有一个 C 项目 目标框架设置为 NET 4 5 由于某些奇怪的原因 所有引用都标有黄色警告三角形 如下所示 我尝试过卸载并重新加载该项目 我什至尝试手动重新添加系统引用之一 但无济于事 我收到的警告是 警告 13 无法找到引用的组件 A
  • Java 中的目录扫描器

    连续扫描一组目录以查找一组文件名过滤器 对于到达的每个文件名过滤器 处理该文件并对所有文件重复这些步骤 jdk 1 5 中推荐的设计是什么 可能使用 java concurrent Executor 和 Future 我已经用网络爬虫完成了
  • 在同一模块中使用unittest.mock的补丁,通过“__main__.imported_obj”修补时得到“没有该属性”

    我的任务本来应该很简单 但它却困扰了我一段时间 我在尝试着patch导入到当前模块中的对象 根据答案Python 中的模拟修补 from import 语句 https stackoverflow com questions 1135138
  • jQuery:计算可见元素 - 效率/速度问题

    我有一些代码可以正常工作 但它变得太慢了 HTML 我有一个容器 里面大约有 50 个ul元素 每个ul元素有一个h4标题后面跟着一系列li元素 如果没有可见的行元素 该函数将隐藏标题 JavaScript jQuery function
  • 允许 AWS Lambda 访问 RDS 数据库

    我正在尝试从 AWS Lambda Java 连接到 RDS 数据库 我应该从 RDS 安全组规则中启用哪个 IP 您无法通过 IP 启用此功能 首先 您需要为 Lambda 函数启用 VPC 访问 在此期间您将为其分配一个安全组 然后 在
  • Ansible 使用同步时提示密码

    我在用着ansible http www ansible com通过以下方式 ansible playbook f 1 my play book yaml ask pass ask sudo pass 之后我被要求输入 ssh 和 sudo
  • 无法加载资源:服务器响应 404(未找到)css 状态

    我无法让浏览器显示我正在创建的应用程序的 css 我查看了其他用户提出的相同问题 但没有找到任何对我的情况有帮助的答案 当我进入该页面时 显示的只是 Hello world 没有样式 即使样式表已链接 当我检查页面时 出现错误 无法加载资源
  • MVC 中 SelectlistItem 的自定义属性

    我想为 dropdownlist 创建一个自定义 htmlhelper 扩展方法 以接受 selectlistitem 的 Option 标签中的自定义属性 我的模型类中有一个属性 我想将其作为属性包含在选择列表的选项标记中 i e
  • MVC Mini Profiler 不尊重应用程序的路径

    我已经按照其描述设置了 MVC Mini Profiler项目页面 http code google com p mvc mini profiler 并且包含内容确实被写在页面上 问题是 我的应用程序位于http localhost 808
  • 在 AWS Ubuntu 14.04.1 LTS 上安装 Sublime Text 3

    Sublime text 是适用于 Windows 和 Linux 的快速编辑器 http www sublimetext com 我无法使用以下命令在 AWS Ubuntu 14 04 1 LTS 上安装 sublime text 3 s
  • 测量 wifi 到 Iphone/Ipad 的信号强度

    我想从 iOS 设备获取当前的 Wifi 信号强度 Google 搜索仅显示适用于 Android 设备的解决方案 从文献中我了解到 Apple 不允许访问硬件 因此没有人可以通过他们的应用程序以 dbm 形式检索设备的信号强度 它是否正确
  • Spring Batch- ItemWriter - DataIntegrityViolationException - 跳过记录 - 重试 - 不起作用

    我从某个时候就被这个问题困扰了 我正在使用 spring batch 3 0 7 问题是如果org springframework dao DataIntegrityViolationException在 ItemWriter 中的一条记录
  • Python/ Pandas:找到左右最大值

    我有一个 pandas 数据框 第一列中有一个区域 其余部分有 8 年的季度数据 大约有 4400 行 这是一个示例 idx Q12000 Q22000 Q32000 Q42000 Q12001 Q22001 Q32001 Q42001 Q
  • Android LocationServices.checkLocationSettings 误报结果

    目前受影响的设备 Xperia 1 II 小米红米Note 7 Use 为了请求位置更新 我检查位置设置 事先就足够了 如果没有 我会显示一条小文字 表明服务必须 为我的功能启用 如果用户单击它 系统对话框将启用 会提示定位服务 我如何运行
  • 在一列中添加多个值

    我必须按如下所示的方式创建一个表 我们可以这样创作吗 如果是 表名 示例 product id product name category 1 Sample1 1 2 3 2 sample2 4 5 6 其中类别字段包含多个值 我们如何搜索
  • 使用 vector 作为缓冲区,而不在 resize() 上对其进行初始化

    我想用vector
  • Powershell:确定进程是 32 位还是 64 位

    有没有办法确定给定的进程 ID 是 32 位进程还是 64 位进程 我正在使用 Powershell v3 0 尝试这个 Add Type MemberDefinition DllImport kernel32 dll SetLastErr
  • 改造响应保留旧数据并将新数据添加到 editText 搜索的数据中

    我正在使用 editText 搜索从 API 获取数据 第一次搜索时 它按预期工作 但在第二次搜索时 它不会显示唯一的新响应 而是保留旧响应并在其末尾添加新响应 它的行为就像缓存以前的一样 我该如何修复该问题以仅显示最后一个搜索词结果 分段
  • Google 云端硬盘文件列表:500 错误

    对于我们的应用程序 我们使用具有 2 足授权的 Google Drive SDK 我们使用 Drive SDK 很长时间了 但今天我们遇到了 Files list API 的新问题 https developers google com d