I had this issue recently and it also happens when you try to request the first access token with refresh token again, then the invalid_grant also shows up.. I solved it by resetting the secret and then cathing the first tokens on the first request.. if I failed and tried again I would get the invalid_grant again.. first time you need to catch the tokens save and then only refresh with refresh …
https://stackoverflow.com/questions/10576386/invalid-grant-trying-to-get-oauth-token-from-google

