Необработанное исключение: PlatformException (functionsError, функция Cloud завершилась с исключением. {Сообщение: PERMISSION_DENIED,) - PullRequest
0 голосов
/ 31 марта 2020

Вот моя функция облачности

exports.addUser = functions.https.onCall((data, context) => {
  console.log(`Hi ${data}`);
  return `Hi there ${data["name"]}`;
});

Вот мой код, дрожащий при нажатии кнопки

final HttpsCallable callable = CloudFunctions.instance
        .getHttpsCallable(functionName: 'addUser')
          ..timeout = const Duration(seconds: 30);

 try {
                      final HttpsCallableResult result = await callable
                          .call(<String, dynamic>{"name": "Pritish"});
                      debugPrint(result.data);
                    } on CloudFunctionsException catch (e) {
                      debugPrint('caught generic exception');
                      debugPrint(
                          "${e.message.toString()} ${e.code.toString()} ${e.details.toString()} ${e.toString()}");
                    }

Но я продолжаю получать следующую ошибку Unhandled Exception: PlatformException(functionsError, Cloud function failed with exception., {message: PERMISSION_DENIED, details: null, code: PERMISSION_DENIED})

Я не обращаюсь ни к одной из данных базы данных firestore, так почему она показывает ошибку разрешения. Также я пользуюсь другими услугами firebase, такими как auth,signin, firestore,storage, и они, кажется, работают нормально для меня. Я правильно развернул функцию. У меня есть и другие функции для FCM, и они, кажется, работают нормально. Настройка для Android для Firebase также выполнена правильно

1 Ответ

0 голосов
/ 31 марта 2020

Вот как я использую его на web . Не уверен, что вы используете его на мобильном устройстве или в Интернете, но я уверен, что ваша конфигурация Firebase либо неверна, либо отсутствует.

Пожалуйста, обратите внимание, что вы не предоставили region для своего функция.

  final FirebaseApp app = await FirebaseApp.configure(
    name: 'XYZ',
    options: const FirebaseOptions(
        apiKey: "AIzaxxxxxxxxxxxxxxxxxxx",
        databaseURL: "https://xyz.firebaseio.com",
        projectID: "xyz",
        storageBucket: "xyz.appspot.com",
        gcmSenderID: "123456789",
        googleAppID: "1:1213123:web:23904832948",
        trackingID: "G-XYZXYZ123"),
  );

  CloudFunctions(app: app, region: "europe-west2")
      .getHttpsCallable(functionName: 'addUser')
      .call({'user': user})
      .catchError((error, stack) => print("Error $error\n$stack"))
      .asStream()
      .listen((event) {
        print("Success ${event.data}");
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...