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

Google Apps Script调用Firestore REST API URL参数错误及版本查询咨询

接口报错修复方案

你遇到的404报错和请求异常由以下几个问题导致,逐一修正即可恢复正常:

  • 路径结构错误:Firestore REST API访问集合/文档的固定路径格式为 https://firestore.googleapis.com/v1/projects/{GCP项目ID}/databases/{数据库ID}/documents/{集合名/文档路径},你的请求路径缺失了固定的/documents段,直接在数据库ID后拼接集合名,导致服务端无法匹配到资源。
  • 请求方法与参数不匹配:你使用GET请求却携带了payload请求体,GET请求用于读取资源,不需要传递请求体;如果你需要写入数据,应使用PATCH/POST请求。
  • 资源定位不完整:如果你要访问test1集合下的具体文档,需要补充对应的文档ID;如果要查询test1集合的所有文档,需要在路径末尾添加:list后缀。

修正后代码示例

如果是要在test1集合下创建一条新文档(自动生成文档ID):

function example5() {
  var options = {
    headers: { 'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken() },
    method:'POST',
    payload: JSON.stringify({fields: { title: { stringValue: 'newTitle' } } }),
    contentType: "application/json",
    muteHttpExceptions:true
  }
  var response = UrlFetchApp.fetch('https://firestore.googleapis.com/v1/projects/transaction1-111/databases/data/documents/test1', options);
  Logger.log(response.getContentText());
}

如果是要读取test1集合的所有文档:

function example5() {
  var options = {
    headers: { 'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken() },
    method:'GET',
    muteHttpExceptions:true
  }
  var response = UrlFetchApp.fetch('https://firestore.googleapis.com/v1/projects/transaction1-111/databases/data/documents/test1:list', options);
  Logger.log(response.getContentText());
}
API版本选择说明
  • v1版本是官方推出的稳定正式版,无兼容性风险,长期维护,所有生产环境优先选择该版本。
  • beta版本为测试版,会提前上线部分未正式发布的新特性,但存在接口调整、功能不稳定的风险,仅适合测试新功能时使用,不建议用于生产环境。
  • 目前无公开可用的v2正式版本,无需考虑使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:39:03