google-spreadsheet-to-json
google-spreadsheet-to-json copied to clipboard
Error while fetching spreadsheet from Google
Thank you for this library. We were using the following packages:
"google-spreadsheet-to-json": "^1.0.0",
"googleapis": "^43.0.0",
and they were working fine before but starting Aug 12 we are getting the following error while fetching the same spreadsheet:
OperationalError: Error: HTTP error 404 (Not Found) - <!DOCTYPE html><html lang="en"><head><meta name="description" content="Web word processing, presentations and spreadsheets"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"><link rel="shortcut icon" href="//docs.google.com/favicon.ico"><title>Page Not Found</title><meta name="referrer" content="origin"><link href="//fonts.googleapis.com/css?family=Product+Sans" rel="stylesheet" type="text/css" nonce="sBQomUSdSKNA5ZAXojPK4g"><style nonce="sBQomUSdSKNA5ZAXojPK4g">/* Copyright 2021 Google Inc. All Rights Reserved. */
49s
68 .goog-inline-block{position:relative;display:-moz-inline-box;display:inline-block}* html .goog-inline-block{display:inline}*:first-child+html .goog-inline-
We have not changed anything from our side. Can you please suggest?
The same issue for us in the same date. The google spreadsheet is private and was already shared with our google api service account - as before.
same here
Same here
same here, seems the changes recently from google about privacy affecting this lib
Same here. It's caused by Google pulling the rug on their Sheets v3 API in August 2021. I replaced this module with https://github.com/revolunet/spreadsheet-to-json
It's nearly a drop-in replacement. My old code was like...
var gsjson = require('google-spreadsheet-to-json')
// Some crazy way to get a token here.
// I was using google-tokens... https://github.com/bradoyler/google-tokens
const rows = await gsjson({
spreadsheetId: documentId,
token: token.credentials.access_token
})
New code is...
const { extractSheets } = require("spreadsheet-to-json");
// No token required, just make sure the document is shared (using the document's sharing UI)
// with the client_email mentioned in the service account keyfile.
// How do you get the keyfile? You create one in Google Cloud Console > IAM > Service Accounts.
const { ALL: rows } = await extractSheets({
spreadsheetKey: documentId,
credentials: require(`./.hiddenFromGit/my-google-generated-service-account-keyfile.json`),
})