typescript - sheet API (google apis) returnerar fel "'Ogiltig beviljning: konto hittades inte'
Jag vill hämta data från kalkylblad genom sheet-API.
Jag skapar ett projekt i GCP och ett tjänstekonto. Sedan gav jag kontot behörighet att skriva i kalkylarket. Efter det laddade jag ner autentiseringsuppgifterna som json.
Min ansökan om nod är här.
const sheets = google.sheets('v4');
execAPI('[sheet_ID]', 'articles!C5:F8');
async function execAPI(spreadsheetId: string, range: string) {
const key = process.env.private_key === undefined ? undefined : process.env.private_key.replace(/\\n/g, "\n");
const auth = await google.auth.getClient({
credentials: {
client_email: process.env.client_email,
private_key: key,
},
scopes: 'https://www.googleapis.com/auth/spreadsheets.readonly',
});
const apiOptions = {
auth,
spreadsheetId,
range,
};
sheets.spreadsheets.values.get(apiOptions, (err: Error | null, res: GaxiosResponse | undefined | null) => {
console.log(err);
console.log(res);
});
Jag försökte många gånger, men fick bara felet "Ogiltigt beviljande: konto hittades inte"
Vad ska jag göra?? Snälla lär mig.
Svar #1
Detta fel betyder att behörighetsbeviljandet eller uppdateringstoken är ogiltig
Det finns flera orsaker till att detta kan inträffa - se här, den mest sannolika är att du ändrade dina behörigheter: Efter att ha gjort det behöver du ta bort din gamla token-fil, så att applikationen kan skapa en ny, uppdaterad token.