Force approval in GDrive oauth to get refresh_token
Forcing the approval of app permissions makes sure that the GDrive API
will always return a refresh_token.
In the case of apps that were already authorized for the current user/domain,
the API doesn't return the refresh_token which causes expiration issues.
This enforces proper types on POST and GET arguments where I considered it sensible. I didn't update some as I don't know what kind of values they would support :see_no_evil:
Fixes https://github.com/owncloud/core/issues/14196 for core
google drive: set access type to 'offline' when requesting token
We need to do this in order to be able to refresh the access token without
prompting the user for their credentials every hour. This was the default
in 0.6 of the Google library, but needs to be explicitly specified in 1.0.