You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Drive服务账号只读异常:无法创建表格但可删除文件求助

问题:Google Drive服务账号只读异常(可删文件但无法创建Google Sheets)

现象说明

  • 服务账号可正常执行文件删除操作,但无法创建新的Google Sheets
  • 创建新表格时收到API错误:

Resource has been exhausted (e.g. check quota). Location[ - ] Reason[rateLimitExceeded] Domain[global]

  • 查看旧表格时显示:

The file is view-only No edits can be made to this file. Contact file owner for details.

相关代码

可正常执行的删除代码

var del = oGooleDive.driveService.Files.Delete(file.Id);
await del.ExecuteAsync();

无法正常执行的创建代码

Spreadsheet newSheet = new Spreadsheet();
SpreadsheetProperties properties = new SpreadsheetProperties();
properties.Title = ClientName + " " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt");
newSheet.Properties = properties;
var c = service.Spreadsheets.Create(newSheet);

解决方向

  1. 检查Google Sheets API配额
    登录Google Cloud控制台,找到对应项目的Google Sheets API,查看配额使用情况。rateLimitExceeded明确是配额耗尽导致,可能是短时间内创建请求频率过高,或者当日配额已用完。可根据实际需求申请调高配额,或优化代码添加请求限流、重试机制。

  2. 确认服务账号权限配置
    虽然服务账号拥有Drive文件删除权限,但创建Google Sheets需要单独的https://www.googleapis.com/auth/spreadsheets权限,需确认已为服务账号授予该权限范围。同时检查服务账号在目标存放文件夹下是否拥有创建文件的权限,旧表格只读是服务账号对这些文件仅拥有查看权限,与新文件创建权限是独立的权限项。

  3. 补全创建代码的执行步骤
    当前给出的创建代码仅构建了请求对象,未发起实际的创建请求,需在最后添加执行语句:

    await c.ExecuteAsync();
    

    缺少这一步会导致请求未发送,也可能引发异常或无响应。

内容的提问来源于stack exchange,提问作者collin visser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:15:39