Twitter 身份验证在本地有效,但在 Vercel 服务器中无效 (Next.JS)

Twitter authentication working in local, but in Vercel server doesn't (Next.JS)

我正在制作一个 next.js 网站并使用 Twitter-lite 库来访问 Twitter API。由于某种原因,我的本地服务器中的代码 运行 正常,但是当我将它发送到 Vercel 以发布它时,它不起作用,它返回

502: BAD_GATEWAY
Code: NO_RESPONSE_FROM_FUNCTION
ID: gru1::dzfhn-1612303490166-f7e971564512

密码是:

import Twitter from "twitter-lite";

export default async function getUserTweets(request, response) {
    var amount = 10
    
    const client = new Twitter({
        subdomain: "api",
        consumer_key: process.env.TWITTER_API_KEY,
        consumer_secret: process.env.TWITTER_SECRET_API_KEY,
        access_token_key: process.env.TWITTER_TOKEN,
        access_token_secret: process.env.TWITTER_TOKEN_SECRET,
        bearer_token:process.env.TWITTER_BEARER_TOKEN
    });
    
    
    let timeline = await client.get("statuses/user_timeline", {
        screen_name: "nerat0",
        exclude_replies: true,
        include_rts: false,
        tweet_mode: "extended",
        count: amount + 2
    });
    response.json(timeline)
}

OBS:在 vercel 函数日志中它说:errors: [ { code: 32, message: 'Could not authenticate you.' } ]。但是我怎么能 运行 在本地使用相同的身份验证正常...

谁能帮我 link 或解释一下?谢谢:)

基本上问题出在 .env 文件和变量中。如果你在你的 onw 服务器(本地)下一个 js 将获得正确的环境变量,但是当你将它发送到 vercel 时,vercel 服务器尝试从另一个文件而不是这个文件(.var)中获取那些 .env 变量,你可以在这里阅读更多相关信息:

https://nextjs.org/docs/basic-features/environment-variables