Tus*_*Rai 6 google-sheets google-apps-script firebase google-cloud-firestore
我试图在FirestoreGoogleAppsScript示例的帮助下从 Google 工作表访问 Cloud Firestore 数据库,但如第 5 点所述,我已经下载了文件,但没有找到更新client_email,private_key和project_id项目的位置。所以请指导我继续前进。
当您按“创建”时,您的浏览器将下载一个.json包含您的私钥 ( private_key)、服务帐户电子邮件 ( client_email) 和项目 ID ( project_id) 的文件。将这些值复制到您的 Google Apps 脚本中 — 您需要它们来通过 Firestore 进行身份验证。
带有演示 Code.gs
function myFunction() {
projectid: "xxx";
key: "-----BEGIN PRIVATE KEY-----\nPrivateKeyHere\n-----END PRIVATE KEY-----\n";
email: "xxx@xxx.iam.gserviceaccount.com";
var firestore = FirestoreApp.getFirestore(email, key, projectId);
}
Run Code Online (Sandbox Code Playgroud)
错误
ReferenceError: "email" is not defined. (line 7, file "Code")
Run Code Online (Sandbox Code Playgroud)
您必须执行以下操作,例如在获取集合的简单函数中:
function fecthFirstCollectionDocs() {
var email = "xxxxxx@yyyyyyy.iam.gserviceaccount.com";
var key = "-----BEGIN PRIVATE KEY-----\your key here\n-----END PRIVATE KEY-----\n";
var projectId = "zzzzzzzzz";
var firestore = FirestoreApp.getFirestore(email, key, projectId);
const allDocuments = firestore.query("FirstCollection").execute();
Logger.log(JSON.parse(allDocuments));
}
Run Code Online (Sandbox Code Playgroud)
的值key是通过创建服务帐户获得的,如库文档中所述:https : //github.com/grahamearley/FirestoreGoogleAppsScript#creating-a-service-account。这很容易,只需按照说明操作即可。
你必须只在部分之间复制-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----\n从.json文件。
根据您 4 月 9 日的评论进行编辑:
为了解决
ReferenceError: "email" is not defined. (line 7, file "Code")
Run Code Online (Sandbox Code Playgroud)
错误您应该正确声明您传递给该getFirestore()方法的变量,如我的答案代码所示,如下所示:
而不是做
projectid: "fir-79c39";
Run Code Online (Sandbox Code Playgroud)
你应该做
var projectid = "fir-79c39";
Run Code Online (Sandbox Code Playgroud)
您声明了一个名为projectid您在getFirestore()方法中使用的变量。同为key和email。
| 归档时间: |
|
| 查看次数: |
6574 次 |
| 最近记录: |