如何用NodeJS访问并管理授权用户YouTube频道?问题排查
如何通过YouTube Data API v3获取授权用户的频道及视频列表?
背景
我正在开发一个帮YouTuber访问自己频道、更新视频详情的项目,目前已经完成这些准备工作:
- 注册YouTube开发者账号
- 配置好API凭证
- 设置了包含YouTube Data API v3权限的OAuth同意屏幕
- 在Next.js前端用谷歌登录按钮实现了用户登录,能把
clientId和credential传给Node.js后端,后端也能成功解码credential拿到用户信息
现有后端登录接口代码
router.post("/google", function (req, res) { try { const { clientId, credential } = req.body; const user = jwt.decode(credential); console.log("clientId", clientId); console.log("user", user); return res.status(200).json({ message: "google", }); } catch (error) { console.log(error); return res.status(500).json({ message: error.message, data: error.data, errCode: 500, }); } })
尝试获取频道信息的代码
我写了这段代码想获取已登录用户的YouTube频道详情,但运行出错:
const oauth2Client = new OAuth2( process.env.CLIENT_ID, process.env.CLIENT_SECRET, process.env.REDIRECT_URL ); // get youtube channel details const youtube = google.youtube({ version: "v3", auth: oauth2Client, }); youtube.channels.list({ part: "snippet", id: user.googleId, },(err, data) => { if (err) { console.log("err", err); res.status(500).send(err); } else { console.log("data", data); res.status(200).send(data); } });
错误信息
No access, refresh token, API key or refresh handler callback is set
问题
我现在搞不懂哪里漏了步骤,为什么没法给YouTube API传递必要的授权参数?该怎么修改才能让应用访问到授权用户的YouTube频道?
内容的提问来源于stack exchange,提问作者Satyamskillz
相关产品推荐
相关产品推荐

