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.

Relaterade artiklar