【发布时间】:2021-12-01 02:29:37
【问题描述】:
我正在通过此 URL 从 Youtube Data API 获取 playlistItems:
URL = `https://youtube.googleapis.com/youtube/v3/playlistItems?part=snippet%2C%20contentDetails&playlistId=${playlistId}&maxResults=${50}&pageToken=${nextPageToken}&key=${API_KEY}`
它在我用于实验的项目中运行良好。
现在是复制的时候了????将代码放入我的实际应用程序中。
我唯一改变的是将 API_Key 放在我的 .env 中并通过以下方式设置:
const API_KEY = process.env.YT_API_KEY
我仍然不明白为什么,但 URL 的结尾有 key=undefined:
现在我寻求帮助的真正原因是: 为了解决这个问题,我直接在进行提取的文件中设置了 API_KEY。
但我得到与上面相同的 401 错误(除了 key= 不再未定义)
当我单击错误消息中的链接时,我可以查看我寻找的 JSON 对象。所以 URL 肯定是有效的。 就像在我的其他项目中一样(仍然)。
那么导致 401 错误的原因是什么?
我有一个想法,也许我需要更改云平台凭据设置中的某些内容。但我的 API 密钥没有任何限制。
【问题讨论】:
-
未授权 (401) 当您创建这个新的 api 密钥时,您是在哪里创建的?是和以前在同一个项目中还是你创建了一个新项目?
-
它适用于一个项目。不在另一个(旧)项目中。两者都在本地主机上:3000
-
但它是同一个 API 密钥吗?好的,这是一个有趣的双重检查,您的 api 密钥没有被切断,我看到环境变量有时会被吃掉。还要检查编码是否搞砸了,它需要对 http 进行编码才能转到 api。
-
我想强调,在 401 错误中显示的链接上的右键单击>在新选项卡中打开>向我显示了我要求的 JSON 对象。
-
这是完全相同的请求 URL 和相同的密钥
标签: youtube-api youtube-data-api credentials http-status-code-401