Итак, у меня есть сценарий, когда при открытии URL-адреса функции firebase - https://us -central1-geochatterthing.cloudfunctions.net / getWall
Я получаю следующую ошибку:
{"error": {"status": "INVALID_ARGUMENT", "message": "Bad Request"}}
Кроме того, мои функции getWall в облачных функциях выглядят как на картинке ниже.
А ниже ссылка на файл api-http.js:
https://gist.github.com/shubham6996/53cea6696b6d565b7f1ffce53bdaabf4
ОБНОВЛЕННЫЙ ВОПРОС:
Эта функция вызывается из моего собственного React-приложения с использованием приведенного ниже кода:
const wallFunc = firebase.functions().httpsCallable('getWall');
let result = await wallFunc({size: 15});
И когда я проверяю вывод result
, используя следующий код:
console.log("Show result = "+JSON.stringify(result, this.getCircularReplacer()));
getCircularReplacer = () => {
const seen = new WeakSet();
return (key, value) => {
if (typeof value === "object" && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
};
И приведенный выше код показывает мне вывод ниже в консоли:
Показать результат =
{ "данных": { "документы": [{ "сорт": [1530702073924], "идентификатор": "04dhcfzDZbNLZoekfhl3"}], "хиты": 1}}
Здесь "id": 04dhcfzDZbNLZoekfhl3
- это идентификатор документа, извлеченного из коллекции базы данных Firebase. Но я хочу иметь возможность извлекать данные каждого документа из этой коллекции вместо одного документа.
Кроме того, в начале я упомянул ошибку «status»: «INVALID_ARGUMENT», я нашел кое-что к этой ошибке:
Если триггер клиента вызван, но запрос неверен
формат, например, не являющийся JSON, имеющий недопустимые поля или пропущенный
поле данных, запрос отклоняется с помощью 400 Bad Request, с
код ошибки INVALID_ARGUMENT.
источник: https://firebase.google.com/docs/functions/callable-reference
И в моем приложении, когда я вызываю вызываемую функцию, используя
const wallFunc = firebase.functions().httpsCallable('getWall');
let result = await wallFunc({size: 15});
Я передаю здесь размер в качестве параметра, но я не знаю, пропустил ли я что-то здесь или нет.
А в файле api-http.js в этом файле в строке 36 показано, что данные имеют размер 2 объектов, а я передаю только параметр размера.
P.S. - Я могу ошибаться, объясняя свою проблему здесь, потому что я на самом деле перепроектирую это приложение. Так что я смущен правильным подходом здесь.