You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sanity.io数据获取报错401:Session not found问题求助

解决Sanity Fetch请求401 "Session not found"错误

你的代码尝试从Sanity获取abouts类型的数据,但返回401未授权错误,提示会话未找到,以下是具体排查步骤:

1. 检查Sanity客户端初始化配置

确保客户端核心参数配置正确,尤其是访问权限相关设置:

import { createClient } from '@sanity/client';

const client = createClient({
  projectId: '你的项目ID', // 必须与Sanity项目ID一致
  dataset: 'production', // 匹配目标数据集
  apiVersion: '2022-09-06', // 和请求URL中的版本保持一致
  useCdn: true, // 公开内容建议启用CDN加速
  // 若访问私有内容,需添加带读取权限的Token:
  // token: '你的Sanity读取Token'
});
  • 如果abouts是公开内容,无需配置token;如果是私有内容,必须使用拥有对应数据集read权限的Token。

2. 验证内容与Token权限

  • 登录Sanity Studio,确认abouts文档的访问权限是否设置为公开可访问。
  • 若使用了Token,在Sanity项目的「API设置」里检查Token权限:确保它包含read权限,且关联了正确的数据集。

3. 排查无效会话残留

错误提示"Session not found"可能是浏览器残留了无效会话凭证:

  • 清除浏览器缓存和Cookie后重新测试请求。
  • 检查项目中是否有其他代码篡改了请求头,比如意外添加了无效的Authorization头信息。

4. 直接测试API请求

把错误信息里的请求URL复制到浏览器直接访问:

  • 如果仍返回401,说明是Sanity项目的权限配置问题,而非代码逻辑问题。
  • 如果能正常返回数据,说明客户端请求被篡改,检查是否有请求拦截器修改了请求参数。

5. 确认API版本兼容性

确保使用的API版本(2022-09-06)是Sanity支持的稳定版本,建议使用最新的日期版本以避免兼容性问题。


内容的提问来源于stack exchange,提问作者Ishraque

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:45:31