- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
浏览文档,我遇到了:
...you can call functions directly with an HTTP request or a call from the client.
~ source
其中(引用中的链接)提到了functions.https.onCall
。
但是在教程中here ,使用了另一个函数 functions.https.onRequest
,那么我应该使用哪个函数,为什么?它们之间有什么区别/相似之处?
functions.https
的文档是 here .
最佳答案
official documentation这些确实很有帮助,但从业余爱好者的 Angular 来看,所描述的差异一开始令人困惑。
这两种类型在部署时都会分配一个唯一的 HTTPS 端点 URL,并且可以使用 https 客户端直接访问。
但是,它们的调用方式有一个重要的区别。
onCall
:来自客户端的firebase.functions()
onRequest
:通过标准 https 客户端(例如 JS 中的 fetch()
API)可以直接从客户端应用调用(这也是主要目的)。
functions.httpsCallable('getUser')({uid})
.then(r => console.log(r.data.email))
它是通过用户提供的数据
和automagic上下文
实现的。
export const getUser = functions.https.onCall((data, context) => {
if (!context.auth) return {status: 'error', code: 401, message: 'Not signed in'}
return new Promise((resolve, reject) => {
// find a user by data.uid and return the result
resolve(user)
})
})
上下文
自动contains metadata有关请求的信息,例如 uid
和 token
。
输入数据
和响应
对象会自动(反)序列化。
主要用作 Express API 端点。
它是通过快速 Request
和 Response
对象实现的。
export const getUser = functions.https.onRequest((req, res) => {
// verify user from req.headers.authorization etc.
res.status(401).send('Authentication required.')
// if authorized
res.setHeader('Content-Type', 'application/json')
res.send(JSON.stringify(user))
})
取决于用户提供的授权 header 。
您负责输入和响应数据。
在此处了解更多信息 Is the new Firebase Cloud Functions https.onCall trigger better?
关于javascript - Firebase云函数: Difference between onRequest and onCall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51066434/
我已经配置了axios插件onRequest helper来对API请求设置Authorization header ,如下所示 1. export default function({ $axios
浏览文档,我遇到了: ...you can call functions directly with an HTTP request or a call from the client. ~ sour
我正在使用 hapi v6.11.1,并且一直在尝试将来自 hapi.js 服务器的传入请求有条件重定向到另一台服务器。这是我到目前为止尝试过的: server.on('onRequest',func
我正在构建一个 chrome 扩展并尝试将事件监听器附加到此扩展,但我在后台页面的控制台中没有看到任何内容。 chrome.extension.onRequest.addListener(functi
我正在尝试学习 Firebase,同时制作一个小项目,我需要在系统中存储 IP 地址。 但我意识到它不像我以前使用 Express 那样工作。我需要与此要点完全相同的结果:https://gist.g
根据文档,我们可以添加 appcheck,如下所示, exports.yourCallableFunction = functions.https.onCall((data, context) =>
我正在尝试编写一些方法装饰器以在 typescript 中与 firebase 函数一起使用,但我对语法有点困惑,到目前为止我尝试过的方法没有用。 我想在我的类中有方法,例如: @OnCall('eu
我同时使用 nuxt-auth和 nuxt-axios模块。我想拦截每个 axios 请求并检查我的 JWT 访问 token 是否快过期,如果是,我想更新它。我为 nuxt-auth 写了一个小扩展
我尝试创建一个带有请求 URL 分割的 https 函数,但它总是给我这样的 undefine log console 来自此代码 //functions/index.js exports.showE
这个问题已经有答案了: Chrome Extension: Port error: Could not establish connection. Receiving end does not exi
我想组合多个Flux同一类型的在一起。在订阅时,它们应该并行执行。订阅方法应该能够限制请求数量。 我尝试过Flux.merge(..)和Flux.concat(..) 。后者似乎强制执行顺序请求生产,
我想在将请求分派(dispatch)到操作之前执行业务逻辑。 这是我的代码: public class Global extends GlobalSettings { public Actio
我无法检索从“https.onRequest”函数发回的消息。 firebase 客户端根据错误代码重写消息,我无法恢复最初发送的正文或 JSON。 关于 Firebase 函数: exports.a
我一直在搜索所有 SO 并阅读谷歌文档,但我似乎找不到解决方案。 我的 Chrome 扩展正在注入(inject)一个内容脚本,我想设置一个 onRequest.listener 以便将请求发送到内容
我无法检索从“https.onRequest”函数发回的消息。 firebase 客户端根据错误代码重写消息,我无法恢复最初发送的正文或 JSON。 关于 Firebase 函数: exports.a
我需要通过将字符串数据的值分配给 OnResponse() scpoe 之外的另一个方法来传递响应字符串,以便我可以通过调用该方法从中返回 JSONObject,但它总是返回 null 我需要的只是从
我的函数“someFunc”是通过单击按钮启动的,但在收到请求时不会启动。有什么想法吗? var someVariable = 'someText'; function someFunc(messag
我的 Firebase 函数存在一些重大问题。我正在尝试创建一个 https 请求,以便我可以将数据发送到 Firebase。 我有一个 super 简单的代码只是为了测试,它导致了错误: 下面是我的
我有 2 个相同的 Firebase 函数,可将数据批量写入 Firestore。一种是包装在预定/onRun 触发器中,另一种是 HTTP onRequest 触发器。 这两个函数都可以正常工作并且
我是一名优秀的程序员,十分优秀!