Błąd: wewnętrzny w nowym HttpsErrorImpl podczas wywoływania funkcji chmury Firebase https do wywołania [duplikat]

Oct 06 2020

To jest błąd, który otrzymuję za każdym razem, gdy wywołuję manageSubscription (), który wywołuje funkcję chmury z możliwością wywołania https:

core.js:4081 ERROR Error: internal
    at new HttpsErrorImpl (index.cjs.js:60)
    at _errorForResponse (index.cjs.js:155)
    at Service.<anonymous> (index.cjs.js:560)
    at step (tslib.es6.js:100)
    at Object.next (tslib.es6.js:81)
    at fulfilled (tslib.es6.js:71)
    at ZoneDelegate.invoke (zone-evergreen.js:364)
    at Object.onInvoke (core.js:27149)
    at ZoneDelegate.invoke (zone-evergreen.js:363)
    at Zone.run (zone-evergreen.js:123)

Za pomocą:

"@angular/core": "^10.0.4",
"@angular/fire": "^6.0.3",

Oto mój moduł aplikacji:

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    AngularFireModule.initializeApp(environment.firebaseConfig),
    AngularFireFunctionsModule,
    SharedComponentsModule,
    AppRoutingModule
  ],
  providers: [
    { provide: ORIGIN, useValue: 'http://localhost:5001' }
  ],
  bootstrap: [AppComponent]
})

Wywołuję funkcję chmury https w mojej usłudze:

Dodano zależność:

constructor(private firebaseFunctions: AngularFireFunctions) {}

Oto metoda:

public manageSubscription(){
  this.firebaseFunctions.useFunctionsEmulator('http://localhost:5001');

  const functionRef = this.firebaseFunctions.httpsCallable('testFunction');
  functionRef({ returnUrl: 'window.location.origin' })
    .subscribe(response => {
      console.log(response);
  });
}

To jest funkcja chmury:

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';

admin.initializeApp();

exports.testFunction = functions.https.onCall((data, context) => {
    console.log('reached');
  return { date: true };
});

Nie widzę wywołań tej funkcji w dziennikach funkcji w chmurze ani na karcie Sieć w konsoli programisty chrome. Co ja robię źle?

Wypróbowałem zarówno emulator funkcji chmury, jak i aplikację na żywo. Wciąż nie ma szczęścia!

Próbuję to debugować od ostatnich 3 dni i straciłem trochę włosów i wagi: /

Odpowiedzi

4 MartinU Oct 06 2020 at 08:16

Nie jesteś jedyną osobą, która straciła włosy z powodu tego problemu. Rozwiązałem po prostu aktualizując pakiet firebase w kliencie (zrobiłem to samo w piątek, ale nie zostało to jeszcze rozwiązane) Wersja 7.22.0 została zakodowana przez diabła, zaktualizuj ją do 7.22.1 i miejmy nadzieję, że będziesz w porządku.