当前位置: 首页 > 知识库问答 >
问题:

Google电子表格api请求的身份验证范围不足

伊俊能
2023-03-14

我正在使用nodejs上的以下脚本制作一个脚本来从google电子表格中读取数据:

var url = oauth2Client.generateAuthUrl({
    access_type:     'offline',
    approval_prompt: 'force',
    scope: [
      'https://www.googleapis.com/auth/analytics.readonly',
      'https://www.googleapis.com/auth/drive',
      'https://www.googleapis.com/auth/spreadsheets'
    ]
});
global.googleapis = { expiry_date: 0 };
google.options({ auth: oauth2Client });
var sheets    = google.sheets('v4');
sheets.spreadsheets.get({ spreadsheetId: 'id'}, function(err, data) {
    res.send(err, data);
});

但每次get请求时,我都会遇到以下错误:

Request had insufficient authentication scopes.

我检查了Google开发者控制台以启用Google Drive API,它已经启用,所以我真的不知道它可能是什么。

共有3个答案

夏谦
2023-03-14

首先,确保您还在开发人员控制台中启用了Sheets API。

身份验证作用域不足是请求中提供的OAuth 2.0令牌中的一个错误,它指定的作用域不足以访问请求的数据。

因此,如果您正确地遵循了此处的步骤,请确保使用了正确且所有必要的范围,并使用OAuth 2.0检查此授权请求。

最后,尝试撤销访问权限并尝试重做。

有关更多信息,请检查此相关SO问题:

>

  • 使用Java通过API写入GoogleSheet

    使用Javascript的Google电子表格API和OAuth2.0

  • 闽念
    2023-03-14

    作用域看起来不错,也许您应该尝试删除以前存储在用户/用户名/中的凭据。凭证/表格。googleapis。com projectName/*,然后再次执行应用程序以获取新凭据。

    司马俊晖
    2023-03-14

    >

  • 首先删除凭据文件~/。凭据/sheets.googleapis.com-nodejs-quickstart.json(取决于您的设置)

    更改用于从Google电子表格中读取单元格的范围变量

    变量作用域=['https://www.googleapis.com/auth/spreadsheets.readonly'];

    VAR SCOPES=['https://www.googleapis.com/auth/spreadsheets'];

  •  类似资料:
    • 问题内容: 我正在使用nodejs上的以下脚本编写脚本以从Google电子表格读取数据: 但是在每个获取请求时,我都会收到此错误: 我检查了Google开发人员控制台以启用Google Drive API并启用了它,所以我真的不知道这可能是什么。 问题答案: 首先删除凭据文件(取决于您的设置) 从更改用于从Google Spreadsheets读取单元格的作用域变量 var SCOPES = [‘

    • 这是我为Google Sheets API编写的代码。我有这是我找到的解决此问题的方法,但这并不能解决我的问题。我已经删除了我的.Credentials文件夹,它不提示我登录。

    • 我是新来的,我不是程序员,那我需要你的帮助。 我正在测试说明管理老师和学生在这里找到:https://developers.google.com/classroom/guides/manage-users 我尝试使用身份验证和作用域,就像在PHP QuickStart中一样:https://developers.google.com/classroom/quickstart/php 我成功运行了q

    • 我正试着从我的swift项目中写到谷歌表单。 现在,我遇到的问题是,当我运行该代码试图写入工作表时,我得到的响应是这样的(工作表ID被我故意删除了): 在进一步研究中,我还发现了这一点,我认为这将解决我的问题,但当我尝试添加时,它告诉我中找不到'kGTLRAuthScopeSheetsSpreadsheets'。 我觉得在这一点上,我被困在我下一步可以尝试的东西上了。如有任何建议,不胜感激!

    • 我第一次尝试使用Google Firestore,通过Google api身份验证进行身份验证。我要做的第一件事是用几个方法来填充数据库,当我等待批处理任务时,会出现以下错误: 我几乎找不到谷歌认证连接firestore的方法。首先,我使用google console为我的应用程序提供的密码使用此方法进行身份验证: 使用在我的google控制台中为应用程序配置的相同作用域(我在同一应用程序中使用g