title: Google token refresh returns "Token has been expired or revoked."
body: <p>I have a Google OAuth2 client approved by Google, which provides <em>offline access</em> to user's account with required scopes. My backend application stores and uses the <a href="https://auth0.com/learn/refresh-tokens/" rel="noreferrer"><em>refresh token</em></a> to refresh the <a href="https://www.oauth.com/oauth2-servers/access-tokens/" rel="noreferrer"><em>access tokens</em></a> as and when needed.</p>
  
  <p>Lately, we are seeing that our token refresh attempt is met with an error from Google with:</p>
  
  <pre class="lang-json prettyprint-override"><code>{
      "error" : "invalid_grant",
      "error_description" : "Token has been expired or revoked."
  }
  </code></pre>
  
  <p>There is no additional information.</p>
  
  <p>Nothing has changed in my Google OAuth client. The user has not changed account password. The user has not revoked access to my client.</p>
  
  <p>What could be the reason for suddenly getting such errors for token refresh? And how do I avoid this in future (if possible)?</p>