Я пытаюсь развернуть облачную функцию Firebase. При развертывании из CLI было сообщение об успешном завершении, и никаких ошибок не отображалось.
Все остальные функции в этом проекте работают нормально, просто эта функция не работает.
Когда Я пытаюсь вызвать эту функцию из своего приложения. Я получаю сообщение об ошибке CORS:
POST https://{url}/volunteering-searchPeople net::ERR_FAILED
Чтобы отладить функцию, я удалил все, и теперь это просто так:
const searchPeople = functions.region('europe-west1').https.onCall(async (data, context) => {
const {
managedBy,
helpPage,
contactStatus,
needs,
postcode,
noVolunteers
} = data;
return Promise.resolve('done');
})
Это называется из приложения здесь:
const testFunction = functions.httpsCallable('volunteering-testFunction')
testFunction().then((result) => console.log({result}))
Работает, когда запускается в эмуляции на локальном хосте. Когда вы go обращаетесь непосредственно к URL-адресу, появляется это сообщение (которое отличается от сообщения об ошибке, возвращаемого всеми другими функциями в этом проекте):
Error: Forbidden
Your client does not have permission to get URL /volunteering-searchPeople from this server.
Когда вы go обращаетесь к этому URL-адресу, ничего появляется в логах. Если я запускаю тест непосредственно из консоли облачных функций Google, он отображается в журналах облачных функций, но это единственный способ запустить эту функцию.
Редактировать: Это сейчас происходит для всех новых функций, которые я пытаюсь развернуть
Edit2: Эта ошибка появляется только для функций, развернутых в europe-west1 или europe-west2. Новые функции в us-central1 работают нормально.