Así que estoy tratando de usar la API de Twitter para probar la funcionalidad y realizar tareas específicas. Decidí usar firestore para mantener los datos relevantes. Sin embargo, cuando creo una referencia de base de datos e intento usar await más adelante en el código, me da un error. Este es el código.
const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(); const {Firestore} = require('@google-cloud/firestore'); const firestore = new firestore(); const dbRef = firestore.doc('tokens/demo'); const TwitterApi = require('twitter-api-v2').default; const twitterClient = new TwitterApi({ clientId: 'clientid', clientSecret: 'clientsecret', }); const callbackURL = 'http://127.0.0.1:5001/twbt-ad868/us-central1/callback'; // STEP 1 - Auth URL exports.auth = functions.https.onRequest((request, response) => { const { url, codeVerifier, state } = twitterClient.generateOAuth2AuthLink( callbackURL, { scope: ['tweet.read', 'tweet.write', 'users.read', 'offline.access'] } ); // store verifier await dbRef.set({ codeVerifier, state }); response.redirect(url); }); exports.callback = functions.https.onRequest((request, response) => { }); exports.tweet = functions.https.onRequest((request, respone) => {});y este es el error que me sale
await dbRef.set({ codeVerifier, state }); ^^^^^ SyntaxError: await is only valid in async functionIntenté usar este código en su lugar para hacer referencia al archivo json en firestore, pero sigo recibiendo el mismo error
const dbRef = admin.firestore().doc('tokens/demo');Supongo que esto se debe a que mi programa no accede correctamente a la base de datos en Firestore. Cuando ejecuto este comando
lista de operaciones de gcloud firestore
yo obtengo
Listado 0 artículos.
Si este es el caso, no estoy seguro de cómo solucionarlo y hacer que mi código acceda a la base de datos correctamente
Desde ya agradezco cualquier ayuda que me puedan brindar.
Debe crear una función asíncrona para tener una espera, ya que requiere una promesa.
async function () { await dbRef.set({ codeVerifier, state });}