After having authorized the app with oAuth2 and acquiring permissions for requested scopes, I still get a screen asking if I grant the app permission to Have offline
My guess is that your app has approval_prompt=force to force the OAuth each time. Since the user has already authorised whatever scopes you requested, there is no need to repeat them. However the screen has to say something, so in the absence of any better ideas, Google requests 'offline access".
Just make sure that you are not forcing auth and you should be fine.