#flutter #dart
Вопрос:
поэтому я реализовал этот код:
static Future init(String userEmail, String lote) async { var usuarios = FirebaseFirestore.instance.collection('usuario'); var query = usuarios.where('email', isEqualTo: userEmail); QuerySnapshot user = await query.get(); var userID = user.docs[0].id; if (user.docs[0]['spreadsheet'] == null || user.docs[0]['spreadsheet'] == '') { //Creates spreadsheet with user's email as a title final spreadsheet = await _gsheets.createSpreadsheet(userEmail); //Shares the spreadsheet with developer's email (in theory) spreadsheet.share('app-peces@app-peces.iam.gserviceaccount.com', type: PermType.any, role: PermRole.reader, withLink: false); spreadsheet.share('app.peces@gmail.com', type: PermType.any, role: PermRole.reader, withLink: false); String spreadsheetId = spreadsheet.id; usuarios.doc(userID).update({'spreadsheet': spreadsheetId}); _userSheet = await _getWorkSheet(spreadsheet, lote); } else { debugPrint(userEmail); //We access the determined spreadsheet of the user final spreadsheet = await _gsheets.spreadsheet(user.docs[0]['spreadsheet']); _userSheet = await _getWorkSheet(spreadsheet, lote); }
}
Здесь я ищу в своей базе данных, есть ли у определенного пользователя уже созданный идентификатор электронной таблицы, а если нет, он создает электронную таблицу и присваивает свой идентификатор атрибуту базы данных. После создания электронной таблицы я пытаюсь поделиться идентификатором электронной таблицы с двумя учетными записями электронной почты, чтобы они могли просматривать электронную таблицу, но на самом деле я не получаю никаких разрешений на это в других электронных письмах. Я даже не знаю, правильно я это делаю или неправильно, но идея в том, что из app.peces@gmail.com Я могу получить доступ к каждой электронной таблице, которую создает пользователь.
Кто-нибудь знает об этом? Спасибо.
Комментарии:
1. Я думаю, что это как-то связано с тем, что я неправильно использую метод .share или какие-то разрешения API, которые я должен установить, но я довольно новичок в этой области, поэтому понятия не имею.