角度应用程序中的 Firebase 功能不起作用

Posted

技术标签:

【中文标题】角度应用程序中的 Firebase 功能不起作用【英文标题】:Firebase functions in angular app not working 【发布时间】:2019-01-21 05:50:41 【问题描述】:

我有一个 Angular 应用程序,正在导入以下内容:

import * as firebase from 'firebase';
import 'firebase/functions';
...
firebase.initializeApp(environment.firebaseConfig);

当我访问 firebase.functions() 时,它会显示在我的智能感知中。

var convertText = firebase.functions().httpsCallable('convertText');

函数 convertText 存在于我的 firebase 帐户中,并且在通过 http 访问时工作。

调用 firebase.functions().httpsCallable() 时出现以下错误:

TypeError: firebase.functions 不是函数

这是我的图书馆。

"@firebase/app": "^0.3.1",
"firebase": "^5.3.1",
"angularfire2": "5.0.0-rc.9",

我按照以下教程进行操作: Firebase Functions

我知道 firebase 正在工作,因为我已经成功使用了 fireauth 和 firestore。

任何帮助将不胜感激。

【问题讨论】:

afaik,你必须通过 nodejs 在后端运行函数,它也在文档中说。 firebase.functions().httpsCallable 还是firebase.functions.httpsCallable?我以为第一个是针对 Firebase 管理员的,例如admin.functions(). 它用于 firebase.functions()。我的问题中的链接提供了有关如何从(Web)应用程序中访问该功能的教程。 【参考方案1】:

我刚刚在另一个 SO Question 上回答了这个问题。

作为一个简短的总结;

constructor(
  private afFun: AngularFireFunctions
)  

ngOnInit()  
  this.afFun.httpsCallable('myFunction')( text: 'Some Request Data' )
    .pipe(first())
    .subscribe(resp => 
      console.log( resp );
    , err => 
      console.error( err );
    );

【讨论】:

以上是关于角度应用程序中的 Firebase 功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云功能 - onCall 不起作用

在角度组件之间传递参数不起作用

使用 Flutter 的 Firebase 身份验证不起作用

Firebase Admin SDK sendToTopic 不起作用

Firebase 推送通知在上传到应用商店 ios 后不起作用

Firebase 事件作为 Google Ads 中的转化不起作用