【发布时间】:2019-02-11 01:53:28
【问题描述】:
我知道可以使用 functions.https.onRequest 或 functions.https.onCall 调用 firebase 云函数,但我找不到有关如何使用 Angular 模块中的“onCall”的示例,这些示例我发现只有 http request angular 模块。
示例:
import { Component } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import * as firebase from 'firebase/app';
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/toPromise';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
constructor(private db: AngularFireDatabase, private http: Http) { }
postRequest() {
const url = 'https://your-firebase-project.cloudfunctions.net/secureEndpoint';
firebase.auth().currentUser.getIdToken()
.then(authToken => {
const headers = new Headers({'Authorization': 'Bearer ' + authToken });
const myUID = { uid: 'current-user-uid' }; // success 200 response
const notMyUID = { uid: 'some-other-user-uid' }; // error 403 response
return this.http.post(url, myUID, { headers: headers }).toPromise()
})
.then(res => console.log(res))
}
}
有什么方法可以在 Angular 模块上使用 JS 标准调用?
<script src="https://www.gstatic.com/firebasejs/5.4.1/firebase-functions.js"></script>
firebase.functions().httpsCallable('FUNCTION');
【问题讨论】:
-
这只是 JavaScript,所以在 Angular 中也应该可以正常工作。从您的代码中调用它有什么问题?
-
对于在浏览器中运行的所有面向 JavaScript 的代码,它的工作方式应该相同。您是否在将 Web 示例适应您的代码时遇到问题? firebase.google.com/docs/functions/callable
-
说实话,我认为你们俩都是对的,但我有填充物,我在角度方法中遗漏了一些东西,因为是的,我正在尝试从普通的代码中调整我的旧代码JS 使用
标签: javascript angular firebase google-cloud-functions