我有一个Web应用程序,用于从浏览器输入数据并将其存储在Google firestore中,效果很好。
我从Google表格中开发了一个脚本,用于访问这些数据并填写google表格。
我想部署Firebase应用并添加一些读取限制,仅写给Google用户,写给Google脚本中的客户端。
它可以与我的网络应用正常运行,但是我无法为Google应用脚本配置允许读写。
找不到有效的示例来设置google app脚本客户端的访问规则。
这是我恢复令牌的方式:
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());
当我尝试设置除以下以外的任何规则时 允许读写:如果为true;
我遇到了这个错误 Échecde larequêtepour https://firestore.googleapis.com/v1/projects/[MY-PROJECT-NAME]/databases/(default)/documents/[MY-COLLECTION]。代码renvoyé:403。Réponsetronquéeduservur:{“错误”:{“代码”:403,“消息”:“权限不足或不足。”,“状态”:“ PERMISSION_DENIED”}}(使用PourtHttpExceptions考试负责人。)