Я использую функцию вызываемой в Firebase облачной функции, сама по себе я могу использовать данные, контекст и получать требуемую аутентификацию и данные, а также регистрировать их в консоли Firebase.Однако, если я использую app.get как const, я получаю ошибки cors, которые, независимо от того, что я пытаюсь, кажется, не исправить это.
Я попытался добавить cors, попытался добавить параметры cors, попробовал app.use и объявил переменные - ни одна из них не работает.Я ожидал бы, что смогу использовать вызываемую функцию, получить нужные данные и установить их в качестве переменных для запроса app.get.Это для Google Cloud / Firebase / Firestore.
export const tweets = functions.https.onCall(async(data, context) => {
const userId=context.auth.uid;
console.log('userid',userId)
const userRef=db.doc(`users/${userId}`);
const userSnap=await userRef.get();
const campaignId=userSnap.data().campaignId;
console.log('campaignid', campaignId)
const campaignRef=db.doc(`${campaignId}/social`);
const campaignSnap=await campaignRef.get();
const twitterhandle=campaignSnap.data().twitterHandle;
const tweet=new functions.https.onRequest(app.get('/', function(req, res){
res.set('Access-Control-Allow-Origin', "*")
res.set('Access-Control-Allow-Methods', 'GET, POST')
cors(req, res, () => {
console.log('fired')
client.get('statuses/user_timeline', {screen_name: twitterhandle, count: 5}, function (err, data ) {
console.log('get started')
if (data) {
console.log('if data')
console.log(JSON.stringify(data))
return res.json(data)
}
else {
console.log({ error: "this is error: " + JSON.stringify(err) })
return
}
});
console.log(tweet)
})
}
)
)
return tweet;
});
Я ожидаю, что смогу вернуть твиты в виде данных JSON, если разделю функции, которые они работают по отдельности, - но это не то, что я хочу.