从Google云端硬盘迁移到Cloud Firestore

时间:2019-01-09 04:45:24

标签: android firebase google-drive-api firebase-authentication google-cloud-firestore

我有一个Android应用程序可以构建和查看投资组合详细信息。我也可以导入和导出投资组合详细信息。导入和导出使用Google驱动器来保存和检索数据。现在,Google希望我们迁移到Cloud Firestore。

问题

  1. 我了解到我们从用户在Cloudstore中的设备存储的数据在用户之间共享。这是对的吗 ?我不希望别人的投资组合可见。

  2. 云存储是否支持单个用户数据库?

  3. 从Google驱动器迁移到Firebase产品的更好方法是什么?

enter image description here

2 个答案:

答案 0 :(得分:0)

关于第一个问题,您可以查看有关IAM的文档。通过设置将角色授予用户,组或服务帐户的策略,可以授予权限。除了原始角色,所有者,编辑者和查看者,您还可以将Cloud Datastore角色授予项目用户。是的,云存储支持单个用户数据库。您可以查看文档here。您可以尝试integrate the Google Drive to Firebase/Firestore来代替迁移。

答案 1 :(得分:0)

要回答您的问题,

  1. 在CloudStore中使用Firebase身份验证

如果您希望将用户数据保存在CloudStore上,那么也可以使用Firebase Auth。这样,任何用户登录后,您都可以仅根据其用户ID($ uid)保存其数据。您将必须相应地设置安全规则,以便只有登录的用户才能访问其数据。

例如,在Firestore中,您的收藏将与此类似

users/${firebase.auth().currentUser.uid}/data

及其对应的安全规则应为

match /users/{userId}/data {
  allow read;
  allow write: if request.auth.uid == userId;
}

此处有更多信息-Secure user Data

  1. 是的,确实如此。但是您也需要使用Firebase Auth来实现此目的。

...如果使用“单个用户数据库”,则意味着仅存储特定于特定用户的数据,而不允许其他任何人访问该数据。在线上有各种教程。

  1. 我还没有从云端硬盘迁移到CloudStore(并且我也没有在线找到任何指南),所以我不是回答这个问题的最佳人选。但是AFAIK可能需要从头开始设置CloudStore和Auth。