Firebase Functinons Emulator не работает с httpsCallable - PullRequest
0 голосов
/ 30 января 2020

У меня есть приложение React, и мне трудно заставить мое приложение вызывать мои функции в эмуляторе.

У меня есть firebase.js файл, который экспортирует экземпляр следующим образом:

const firebase = require('firebase');

const instance = firebase.initializeApp({ <config data
});

export default instance;

В моем index.js для моего проекта React я импортирую вышеупомянутое и вызываю эмулятор функций

import fb from "~/firebase";
fb.functions().useFunctionsEmulator('http://localhost:5001');


ReactDOM.render(
    <ThemeProvider theme={theme}>
        <BrowserRouter>
            <App />
        </BrowserRouter>
    </ThemeProvider>
    , document.getElementById('root'));

В моем компоненте я затем вызываю функцию httpsCallable следующим образом:

import React from "react";
import {Button} from "antd";
import fb from "~/firebase";

function Etsy() {

    async function oAuth() {
        try {
            console.log("called")
            fb.functions().httpsCallable('etsyOauth');
        } catch (e) {
            console.log(e)
        }
    }

    return(<div>
        <Button onClick={() => oAuth()}>
            Etsy
        </Button>

    </div>)
}
export default Etsy;

В моих функциях у меня есть index.js, который требует мои функции

const admin = require('firebase-admin');
admin.initializeApp();

exports.etsyOauth = require('./etsy/oauth');
exports.etsyCallback = require('./etsy/callback');

, а затем сама моя функция

const functions = require('firebase-functions');
module.exports = functions.https.onCall((data, context) => {
    console.log("Called");
    console.log(data, context)
    return true;
});

Я запускаю свой эмулятор функций с помощью firebase emulators:start --only functions, который запускается нормально и дает мне URL-адрес моей функции. Если я выполняю запрос GET, он выводит его из системы.

Однако, когда я вызываю его из моего приложения с помощью httpsCallable, он ничего не делает. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...