You are not requesting OAuth in OFFLINE-Mode.
Probably that´s the problem.
developers.google.com
You´ll only get a Refreshtoken in offline-mode.
View attachment 151911
I recently had the same problem with my Dropbox-Library.
I had to rewrite the OAuthflow to use offline-mode to get a refreshtoken which i can use to generate a new AccessToken whenever i need to.