【问题标题】:The request is missing a valid API key - Google Sheets该请求缺少有效的 API 密钥 - Google 表格
【发布时间】:2021-10-01 18:52:45
【问题描述】:

这是我的 Chrome 扩展程序的 background.js 脚本。我正在尝试使用表格 API 从电子表格中获取值。任何人都可以阅读该工作表,因此我认为我不需要任何 OAuth2 权限/范围和登录。

     if (message.action == 'clicked') {
            if (!connected){
                var user = message.user;
                var range = 'Teachers!A:A';
                let fetch_url = `https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/${range}`;
                fetch(fetch_url)
                    .then(res => res.json())
                    .then(res => {
                        console.log(res);
                    })
                };
            }

当我尝试获取时,我收到此错误:

error: {code: 403, message: 'The request is missing a valid API key.', status: 'PERMISSION_DENIED'}

我的逻辑有什么问题?我不能避免让人们登录吗?

【问题讨论】:

  • n 用户将访问相同的代码,但需要密钥的是in 代码中的API 调用。
  • @Andy 如何插入此密钥?是在邮件头吗?
  • 可能作为 URL 中的 key 参数。检查文档。

标签: javascript api google-chrome-extension google-sheets-api api-key


【解决方案1】:

我需要转到 Google Cloud Console 并创建一个 API 密钥(为了安全起见,最好将其限制为 Sheets API)。

我获取了该密钥并将其保存为变量并将其包含在获取 URL 中,如下所示:

let fetch_url = `https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/${range}?key=${API_KEY}`;

成功了!

【讨论】:

    【解决方案2】:

    它没有读取${spreadsheetId} 密钥,请确保它已正确链接,否则当您未提供正确的 api 密钥时会发生该错误

    【讨论】:

    • 不,我在 if statemetn 之外的代码开头定义了该变量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 2018-07-05
    • 2018-12-25
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多