如何解决Twitter 身份验证在本地工作,但在 Vercel 服务器中没有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.' } ]
。但是我怎么能在本地使用相同的身份验证正常运行...
谁能帮我提供链接或解释?谢谢:)
解决方法
基本上问题出在 .env 文件和 vars 中。如果您在您的 onw 服务器(本地),下一个 js 将正确获取环境变量,但是当您将其发送到 vercel 时,vercel 服务器尝试从另一个文件中获取那些 .env 变量,而不是从这个文件(.var)中获取这些 .env 变量,您可以在此处阅读更多相关信息:
https://nextjs.org/docs/basic-features/environment-variables
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。