【发布时间】:2021-05-07 03:33:11
【问题描述】:
我正在创建一个 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.' } ]。但是我怎么能在本地使用相同的身份验证正常运行...
谁能帮我提供链接或解释?谢谢:)
【问题讨论】:
-
部署到 Vercel 时,您是否检查过您拥有正确的环境变量?
-
在我的本地服务器中,密钥有效,我可以检查一下吗?另一件事,我已经使用了另一个使用密钥的 API,这个工作正常
-
添加调试块,如
process.env.TWITTER_API_KEY ? 'Env var defined' : throw `Unexpected value ${process.env.TWITTER_API_KEY }`