POST 请求失败,身份验证范围不足,而 GET 请求成功



我正在尝试使用 Google 表格 API 发出 POST 请求并更新我的表格。当我执行 GET 请求时,我的代码正在工作,但 POST 请求失败并显示以下错误:

API 返回错误:错误:
请求的身份验证范围不足

这是我的 POST 请求代码:

app.post('/', (req, res) => {
fs.readFile('credentials.json', (err, content) => {
if (err) return console.log('Error loading client secret file:', err)
authorize(JSON.parse(content), postTest)
})
function postTest(auth) {
const sheets = google.sheets({version: 'v4', auth})
sheets.spreadsheets.values.update({
spreadsheetId: 'spreadsheetId',
range: 'A5',
valueInputOption: 'Test',
}, (err, res) => {
if (err) return console.log('The API returned an error: ' + err)
else {
console.log('%d cells updated.', result.updatedCells);
}
})
}
})

我的范围:

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

问题来自 token.json 文件。更改范围后我忘记删除它。问题解决了!

几天来我一直遇到同样的问题,我终于在我的文件系统中找到了它。我发誓,我一直在到处寻找,没有人给出我必须删除的文件的明确路径。

因此,对于出于任何原因开始使用Sheets API的新手程序员,我在以下位置找到了它:

~/Users/< MyUser >/source/repos/< MyVisualStudioProjectName >/< MyVisualStudioProjectName >/bin/Debug/token.json

我删除了该文件夹中的Google.Apis.Auth.OAuth2.Responses.TokenResponse-user,我的写入请求开始工作。

最新更新