小编Jbb*_*bae的帖子

Firebase云功能 - onCall无法正常工作

我正在测试FB docs(https://firebase.google.com/docs/functions/callable)中描述的一个非常简单的实现,但它无法正常工作.

这是我的Firebase功能,部署到云端:

exports.getRecSkills = functions.https.onCall((data, context) => {
  return {text: data.text};
});
Run Code Online (Sandbox Code Playgroud)

...和我的客户电话(初始化FB后):

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

getRecSkills({text: '123'}).then(function(result) {
  console.log(result);
}).catch(function(error) {
  console.log(error.code);
  console.log(error.message);
});
Run Code Online (Sandbox Code Playgroud)

我得到一个与CORS标题相关的问题,但在文档中,它没有提到CORS的需要......我错过了什么?

在此输入图像描述

一些说明:

  • 我已经能够执行其他Firebase功能(即HTTPS,数据库),因此我认为这不是我设置Firebase错误的原因.
  • 已更新至最新的Firebase,因此不要认为这也是一个问题.
  • 给我一个"内部"错误,API文档没有帮助,除了"严重错误".
  • 当我通过shell进行本地测试时,我似乎无法使函数工作(它一直给我400个错误),即使我让它与任何其他数据库和https函数一起工作

在这段时间里一直在努力...请帮忙!

javascript cors firebase google-cloud-functions

7
推荐指数
1
解决办法
1071
查看次数

为什么Firebase的“ getRedirectResults()”返回“ {user:null}”?

当前,当用户通过社交身份验证(通过重定向)时,它会在Firebase Authentication下成功创建用户,但无法检索Google / Facebook API的数据。对于身份验证成功后如何无法检索数据感到困惑。

我以前只拥有SignInWithPopup(效果很好),但是我试图让getRedirectResults也能工作(对于移动设备)。

考虑到我一直看到的行为,问题很可能与getRedirectResults有关。很有可能不是社交API设置,因为否则用户将永远无法在身份验证中创建。

以下代码位于componentDidMount(这是一个React.js应用程序)中:

if (this.state.device === 'mobile') {
  firebase.auth().getRedirectResult().then(function(result) {
    console.log('login successful! Data is:');
    console.log(result);

    if (result.credential) {
      var provider = result.credential.providerId;
      self.handleSocialAuth(provider, result);
    }
  }).catch(function(error) {
    var errorCode = error.code;
    var errorMessage = error.message;
  });
}
Run Code Online (Sandbox Code Playgroud)

结果应该包含用户的数据,并不断返回:

login successful! Data is:
{user: null}
Run Code Online (Sandbox Code Playgroud)

我没有偏离官方文档示例,这就是为什么我感到困惑的原因。

javascript firebase reactjs firebase-authentication

5
推荐指数
1
解决办法
252
查看次数

React InstantSearch RefinementList transformItems无法正常工作

所以我已经在我的应用程序中成功实现了React InstantSearch库,并尝试将过滤器应用于细化列表(以确保显示的过滤器与活动用户相关,并隐藏不存在的过滤器).我试过以下:

<RefinementList attributeName="organization" transformItems={items => items.filter(e => refineList.indexOf(e)>=0)} />
Run Code Online (Sandbox Code Playgroud)

其中refineList是一个简单的字符串数组(即["A","B","C"])

但是,RefinementList会一直显示所有过滤器选项,而不会应用"transformItems"函数.是不是我误解了"transformItems"是如何工作的?

关于这个主题的文档很少,所以我相信它对图书馆的许多其他用户都有帮助.

javascript reactjs algolia react-instantsearch

3
推荐指数
1
解决办法
414
查看次数

Firebase部署 - "无法授权"错误

我尝试为我设置的Firebase项目部署一个非常简单的站点,并按照以下步骤操作:

  1. firebase登录(我已经登录,因为我正在处理其他项目)
  2. firebase init(创建.firebasercdatabase.rules.json文件).
  3. firebase部署

在部署时,我不断收到以下错误消息:

λfirebase部署

!您需要更新CLI身份验证以利用新功能.

!请运行firebase login --reauth

错误:无法授权访问项目[PROJECT NAME]

我成功地运行了firebase login --reauth,我仍然得到了这个.

谁知道我在这里做错了什么?

javascript cmd firebase firebase-hosting firebase-authentication

0
推荐指数
1
解决办法
2066
查看次数