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

使用Sign In With Google调用Google Sheets API时认证失败及scope缺失求助

问题核心分析与解决步骤

1. 凭证类型错误:你用错了Token

Sign In With Google返回的JWT是ID Token,它仅用于验证用户身份(比如确认用户邮箱、基本信息),不能直接用来调用Sheets API。Sheets API要求的是OAuth 2.0 Access Token——这是专门用于授权API调用的凭证。

2. 必须指定Sheets API的Scope

Scope是必需的,没有指定对应权限范围,Google不会颁发能访问Sheets API的Access Token,用户也不会看到对应的权限授权提示。你需要在Sign In流程中明确添加Sheets相关的Scope:

  • 读写权限:https://www.googleapis.com/auth/spreadsheets
  • 只读权限:https://www.googleapis.com/auth/spreadsheets.readonly

前端代码示例(Google Identity Services)

方式1:直接请求Access Token

// 初始化Token客户端
const tokenClient = window.google.accounts.oauth2.initTokenClient({
  client_id: '你的OAuth客户端ID',
  scope: 'https://www.googleapis.com/auth/spreadsheets',
  callback: (response) => {
    // 这里拿到的response.access_token才是可用的凭证
    const accessToken = response.access_token;
    // 调用Sheets API
    fetch('https://sheets.googleapis.com/v4/spreadsheets/你的表格ID', {
      headers: {
        'Authorization': `Bearer ${accessToken}`
      }
    })
    .then(res => res.json())
    .then(data => console.log(data));
  }
});

// 触发授权请求
tokenClient.requestAccessToken();

方式2:通过Sign In按钮获取Access Token

如果用Sign In按钮,需要在配置中添加Scope和获取Access Token的参数:

<div id="g_id_onload"
     data-client_id="你的OAuth客户端ID"
     data-scope="https://www.googleapis.com/auth/spreadsheets"
     data-access_type="online"
     data-callback="handleAuthResponse">
</div>
<div class="g_id_signin" data-type="standard"></div>

<script>
function handleAuthResponse(response) {
  // 从response中获取Access Token
  const accessToken = response.access_token;
  // 后续调用Sheets API逻辑同上
}
</script>

3. 修正API请求地址

你用的https://content-sheets.googleapis.com/v4/spreadsheets是旧版接口域名,当前标准Sheets API的地址是https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}。

4. 检查Cloud Console配置

  • 确认OAuth同意屏幕中已添加Sheets API的Scope,测试模式下要把你的测试账号加入测试用户列表。
  • 确认客户端ID的类型与你的应用匹配(比如Web应用类型要对应前端域名)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:33:19