通过 Google App Script 在 Firestore 中创建文档时出错



我正在按照格雷厄姆耳利的指南设置我的谷歌表格来读/写我的Firestore数据库。我创建了一个被指定为项目所有者的服务帐户,生成了密钥并将相关字符串存储在我的 testFunction 中,如下所示:

function testFunction() {
var key = "-----BEGIN PRIVATE KEY-----n<my private key>n-----END PRIVATE KEY-----n";
var email = "xxxx@<projectId>.iam.gserviceaccount.com";
var projectId = "<projectId>";
var firestore = FirestoreApp.getFirestore(email, key, projectId);
const data = {
"name": "test!!" 
};
firestore.createDocument("FirstCollection", data);
}

但是,当我尝试运行它时,我收到以下错误:

错误:缺少权限或权限不足。(第 33 行,文件"Util", 项目"火商店应用"(

我尝试按如下方式设置数据库规则,但该函数仍然返回错误:

service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read;
allow write: if false;
}
}
}

我在这里搜索了具有权限不足相同错误的问题,但没有找到任何对我有帮助的东西。

有人可以建议我找出问题并解决它吗?谢谢。

清单:

{
"timeZone": "Europe/Paris",
"dependencies": {
"libraries": [{
"userSymbol": "FirestoreApp",
"libraryId": "1VUSl4b1r1eoNcRWotZM3e87ygkxvXltOgyDZhixqncz9lQ3MjfT1iKFw",
"version": "22"
}]
},
"exceptionLogging": "STACKDRIVER"
}

编辑 1:添加了清单文件

编辑2:添加了数据库规则

我已经解决了这个问题。问题似乎出在我的服务帐户上。我选择了项目>所有者,而不是数据存储>云数据存储所有者。

感谢您提供的所有帮助。

最新更新