Google Sheet Oauth2客户端的Google Firestore访问规则

时间:2019-07-09 10:06:07

标签: google-cloud-firestore

我有一个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考试负责人。)

0 个答案:

没有答案