Search code examples
node.jsapigmailgmail-api

Trying to implement NodeJS Gmail API example


I am trying to get the NodeJs Gmail API Quickstart example working. At first, I was able to get the example running and receive an out put that looked like this.

INBOX
SPAM
ETC ...

I made a few changes after so that I could see messages, etc. Once that happened I started getting the following error after the prompt (It was working prior).

Authorize this app by visiting this url: https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.modify&response_type=code&client_id=***&redirect_uri=***
Enter the code from that page here:

I get this error code

Error retrieving access token GaxiosError: invalid_grant
    at Gaxios.<anonymous> (C:\***\node_modules\gaxios\build\src\gaxios.js:73:27)
    at Generator.next (<anonymous>)
    at fulfilled (C:\***\node_modules\gaxios\build\src\gaxios.js:16:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  response: {
    config: {
      method: 'POST',
      url: 'https://oauth2.googleapis.com/token',
      data: 'code=***client_id=***&client_secret=***&redirect_uri=http***=authorization_code&code_verifier=',
      headers: [Object],
      params: [Object: null prototype] {},
      paramsSerializer: [Function: paramsSerializer],
      body: 'code=***&client_id=***&client_secret=***&redirect_uri=***&grant_type=authorization_code&code_verifier=',
      validateStatus: [Function: validateStatus],
      responseType: 'json'
    },
    data: {
      error: 'invalid_grant',
      error_description: 'Malformed auth code.'
    },
    headers: {
    ***,
    ***
    },
    status: 400,
    statusText: 'Bad Request'
  },
  config: {
    method: 'POST',
    url: 'https://oauth2.googleapis.com/token',
    data: 'code=***&client_id=***&client_secret=***&redirect_uri=***=authorization_code&code_verifier=',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      'User-Agent': 'google-api-nodejs-client/3.1.2',
    },
    params: [Object: null prototype] {},
    paramsSerializer: [Function: paramsSerializer],
    body: 'code=***&client_id=***&client_secret=***&redirect_uri=***&grant_type=authorization_code&code_verifier=',
    validateStatus: [Function: validateStatus],
    responseType: 'json'
  },
  code: '400'
}

So I reverted the changes back to the original quickstart code, and I am still getting the above error. I have no idea why this is happening and would appreciate some help!


Solution

  • the taken of Gmail api expires really soon after you work with it

    try to delete the credentials.json and start the script again .