У меня есть веб-приложение, используемое для ввода данных из браузера и сохранения их в Google Firestore, что хорошо работает.
Из листов Google я разработал скрипт для доступа к этим данным и заполнения листа Google.
Я хочу развернуть свое приложение Firebase и добавить некоторые ограничения для чтения, писать только моему пользователю Google И своему клиенту в сценарии Google.
Он отлично работает с моим веб-приложением, но я не могу настроить разрешение на чтение и запись для моего скрипта приложения Google.
Не удалось найти рабочий пример настройки правил доступа для клиента скрипта приложения Google.
Вот как я могу восстановить токен:
function getFirebaseService() {
return OAuth2.createService('Firebase')
// Set the endpoint URL.
.setTokenUrl('https://accounts.google.com/o/oauth2/token')
// Set the private key and issuer.
.setPrivateKey(PRIVATE_KEY)
.setIssuer(CLIENT_EMAIL)
// Set the property store where authorized tokens should be persisted.
.setPropertyStore(PropertiesService.getScriptProperties())
// Set the scopes.
.setScope('https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/firebase.database https://www.googleapis.com/auth/datastore');
}
и как мне восстановить данные:
var token = getFirebaseService().getAccessToken();
var url = "https://firestore.googleapis.com/v1/projects/[MY-PROJECT-NAME]/databases/(default)/documents/[MY-COLLECTION]";
var options = {
"Authorization" : "Bearer "+token
}
var resp = UrlFetchApp.fetch(url, options);
var data = JSON.parse(resp.getContentText());
Когда я пытаюсь установить какие-либо правила, кроме
разрешить чтение, написать: если верно;
У меня есть эта ошибка
Время восстановления https://firestore.googleapis.com/v1/projects/[MY-PROJECT-NAME]/databases/(default)/documents/[MY-COLLECTION]. Код обновления: 403. Réponse tronquée du serveur: {"error": {"code": 403, "message": "Отсутствует или недостаточно разрешений.", "Status": " PERMISSION_DENIED "}} (Utilisez l'option muteHttpExceptions for examiner la réponse entière.)