Вы должны сделать следующее, например, в простой функции, которая извлекает коллекцию:
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));
}
Значение key
получается путем создания учетной записи службы, как описано в документации библиотеки.: https://github.com/grahamearley/FirestoreGoogleAppsScript#creating-a-service-account. Это довольно просто, просто следуйте инструкциям.
Вы должны скопировать только часть между -----BEGIN PRIVATE KEY-----
и -----END PRIVATE KEY-----\n
из файла .json
.
Отредактировано после вашего комментария от 9 апреля:
Чтобы устранить ошибку
ReferenceError: "email" is not defined. (line 7, file "Code")
, вы должны правильно объявить переменные, которые вы передаете методу getFirestore()
, как показано в кодемоего ответа и следующим образом:
вместо того, чтобы делать
projectid: "fir-79c39";
, вы должны сделать
var projectid = "fir-79c39";
Вы объявляете переменную с именем projectid
, которую вы используете вgetFirestore()
метод.То же самое для key
и email
.