因此,我试图使用twitter Api来测试功能和执行特定任务。我决定用消防站保存相关数据。但是,当我创建一个数据库引用并试图在代码中稍后使用await时,它会给出一个错误。这是密码。
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) => {});这就是我所犯的错误
await dbRef.set({ codeVerifier, state });
^^^^^
SyntaxError: await is only valid in async function我尝试使用这段代码来引用防火墙中的json文件,但是仍然会出现同样的错误
const dbRef = admin.firestore().doc('tokens/demo');我认为这是因为我的程序没有正确地访问防火墙中的数据库?当我运行这个命令时
gcloud防火墙操作列表
我得到了
列出了0项。
如果是这样的话,我不知道如何解决这个问题,并让我的代码正确地访问数据库
谢谢您能为我提供的任何帮助。
发布于 2022-03-14 17:43:06
您必须创建一个异步函数,以便有一个等待,因为它需要一个承诺。
async function () { await dbRef.set({ codeVerifier, state });}https://stackoverflow.com/questions/71471960
复制相似问题