通过本地 React 应用程序从 Google Sheet 获取数据的响应不一致
Inconsistent response fetching data from Google Sheet via local react app
我已经制作了一个 create-react-app 我构建的 运行 作为 OBS 插件静态地安装在我的机器上,没有使用 Hashrouter 的服务器。我正在从已设置为 public 的 Google Sheet 中获取数据。使用 url 这种格式的 https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/{sheetNo}/public/values?alt=json
我能够获取数据作为 JSON 以在我的应用程序中使用。然而,在过去一周内,由于应用程序没有任何变化,反应变得不一致。
当我在浏览器中访问 URL 时,它永远不会加载 JSON 的纯文本版本。但是,在我的应用程序中发送 GET 请求时,我有 60% 的时间收到 404 错误。我在我的请求中尝试了不同的 headers,但我似乎找不到任何一致的方法。
这是我执行提取的函数。我是从 useEffect 挂钩中调用它的。
const getData = async (url) => {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`fetch error. status: ${response.status}`);
}
return await response.json();
} catch (err) {
return err;
}
};
我收到的 404 响应说:“抱歉,此时无法打开文件。请检查地址并重试。”
我认为这与我在没有服务器 运行ning 的情况下从本地文件调用这一事实有关。如果可能的话,我想保持这种方式,只是为了让 OBS 操作员的操作变得简单。我试过在我的 fetch url (key={APIKEY}
) 中添加一个 API 键,但这似乎没有任何区别。关于可能导致此行为的原因有什么想法吗?
这是一个已知问题。请看这个线程。
https://support.google.com/docs/thread/121088347
我已经制作了一个 create-react-app 我构建的 运行 作为 OBS 插件静态地安装在我的机器上,没有使用 Hashrouter 的服务器。我正在从已设置为 public 的 Google Sheet 中获取数据。使用 url 这种格式的 https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/{sheetNo}/public/values?alt=json
我能够获取数据作为 JSON 以在我的应用程序中使用。然而,在过去一周内,由于应用程序没有任何变化,反应变得不一致。
当我在浏览器中访问 URL 时,它永远不会加载 JSON 的纯文本版本。但是,在我的应用程序中发送 GET 请求时,我有 60% 的时间收到 404 错误。我在我的请求中尝试了不同的 headers,但我似乎找不到任何一致的方法。
这是我执行提取的函数。我是从 useEffect 挂钩中调用它的。
const getData = async (url) => {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`fetch error. status: ${response.status}`);
}
return await response.json();
} catch (err) {
return err;
}
};
我收到的 404 响应说:“抱歉,此时无法打开文件。请检查地址并重试。”
我认为这与我在没有服务器 运行ning 的情况下从本地文件调用这一事实有关。如果可能的话,我想保持这种方式,只是为了让 OBS 操作员的操作变得简单。我试过在我的 fetch url (key={APIKEY}
) 中添加一个 API 键,但这似乎没有任何区别。关于可能导致此行为的原因有什么想法吗?
这是一个已知问题。请看这个线程。 https://support.google.com/docs/thread/121088347