javascript - 使用 JavaScript 和 Wix 网站构建器读取 JSON 文件
问题描述
我想阅读以下 JSON 文件(来自 youtube),我想知道如何使用它来获取视频标题。我目前有以下代码:
fetch("https://www.googleapis.com/youtube/v3/videos?
part=snippet&id=xxxx&key=myapikeygoeshere",
{method: "get"})
.then( (httpResponse) => {
if (httpResponse.ok) {
return httpResponse.json();
} else {
return Promise.reject("Fetch did not succeed");
}
} )
.then(json => console.log(json.title))
.catch(err => console.log(err));
链接到 json 数据:https ://www.googleapis.com/youtube/v3/videos?part=snippet&id=xxxx
还应该注意的是,你正在使用 Wix 网站构建器。
当我查看控制台时,它只是说未定义。
更新:我发现了另一个帖子,您可以使用以下行在不使用 api 密钥的情况下获取视频标题和上传器名称:https://www.youtube.com/oembed?url=http: //www.youtube .com/watch?v=ojCkgU5XGdg&format=json
如果有人能够帮助我阅读本文,我将不胜感激。
提前致谢。
解决方案
它是一个跨域 Ajax 调用问题 (CORS) 您需要在获取 youtube api 之前在您的域上启用 CORS 标头。如果您无法启用 CORS 标头(因为您使用的是 wix),那么您只需调用您的 api,它将从服务器获取此 api 并返回结果。
下面是从 wix 进行 curl 调用的 URL - https://support.wix.com/en/article/accessing-3rd-party-services#backend-service-call
推荐阅读
- android - Android Jetpack Compose Beta 是否分离了 onCommit{} 的构建器?
- python - Python Pandas 更快的滚动计算替代方案
- python - foobar please-pass-the-coded-messages 隐藏测试用例未通过
- blazor - 如何减少 Blazor Webassembly 的加载时间
- python - Python Pandas 循环中的元组索引有问题吗?
- c# - Rx 库是否忽略了它创建的 CancellationTokenSources 的处理?
- dpdk - 是否可以将 DPDK KNI 用作 TUN 设备
- angularjs - Ngif 不反射角
- sql - postgreSQL如何选择具有多个元素的数组查询
- reveal.js - Reveal.js 无法在 ios9.3 中加载