- fix
gar_gce_auth_email()
- Removed
with_shiny()andgoogleAuthmodules that have been deprecated for a while -usegar_shiny_*instead. - Improved error handling with custom http errors
- Fix
gar_service_create()and dependent functions since error message changed for service email (#197) - Better error if
gar_service_get_roles()finds no roles
- Fix batching when response has a blank line in first line
- Retry on 408 status codes (#199)
- Add filter down to roles for one accountId in
gar_service_get_roles() - Prettier startup messages via
cli - Make setup flow easier without needing so many R restarts
- Fix
gar_set_client()returning web-project id if expecting project id and both env arguments are set. - Fix
gar_service_provision()andgar_service_get()as API error message changed (#197)
- Let you supply your own URL for discovery documents in
gar_discovery_api() - Change defaults on
gar_create_package()to check = FALSE, github=FALSE - Add class 'list' to
gar_discovery_*()objects so they work withjsonlite - Add
gar_service_list()andgar_service_get() - If using
gar_service_create()and it already exists, will return existing viagar_service_get() - Move the setup wizard functions from
googleCloudRunnertogoogleAuthRso they are available for all packages. - Remove deprecated
new_userparam fromgar_auth()
- Add
gar_scope_config - Add Docker build available at
gcr.io/gcer-public/googleauthr - More API error feedback if using googleAuthR.verbose < 3
- Auto-auth should succeed if one of the scopes needed is present
- Set default scopes to "https://www.googleapis.com/auth/cloud-platform" in
gar_gce_auth - Corrected and clarified
googleSignIndocumentation (#171, @jonthegeek). - Fix
gar_debug_parsing()message - Remove deprecated
gar_auth_jsUIsince it causes an issue when used - Add functions
gar_service_*to provision service accounts via R (#178) - Remove OAuth2 login parameter
approval_promptas its replaced byprompt(#177 - thanks @OuNao/@rasmes/@hugovk)
- Allow to be used by R 3.3 via custom
isFALSEfunction (#158 - thanks @matthijsvanderloos) - Web JSON client id messaging
- Auto_auth works on startup now
- Add default scope of "https://www.googleapis.com/auth/cloud-platform" to
gar_gce_auth() - Improvements to stop
gar_auto_auth()block library installation if auth files not correct.
- Implement
library(gargle)as backend for authentication functions - Auto-attempt authentication via
gar_auth()if an API call has no auth set - Remove explicit R6 dependency as imported via
gargle - Enable some customization of
googleSignInUI's logout button vialogout_nameandlogout_classparameters - Expose information whether user is signed in via
googleSignInmodule - Auto-auth by specifying an email address in
gar_auto_auth()
- Depend on usethis for
create_package()anduse_github()as they are removed in devtools 2.1.0 (@jimhester, #150).
- Change behaviour on API parse errors to write a diagnostic object to the working directory
- Add
gar_debug_parsingto help debug API parsing errors. - Fix batching that errored if body was exactly the same
- Set environment args in
gar_set_client()to help deployments on Shinyapps.io - Support API body page requests in
gar_api_page() - Fix
gar_set_scopes()to allow multiple scopes when setting withweb_json - Change required scopes in
gar_auto_authto only require one of the scopes specified, instead of all of them - Fully remove
TRAVIS_AUTH - Remove some message spam from startup
- Fix mocks failing with
httptestif used withwith_mock_api()vswith_mock_API() - Add
option(googleAuthR.redirect)to help publish Shiny apps to some platforms (#136) - Add support for using gcloud application-default credentials on Jupyter notebooks via
gar_gce_auth_default()(#147)
- Deprecate
https://www.googleapis.com/batchbatch endpoint fully as per https://developers.googleblog.com/2018/03/discontinuing-support-for-json-rpc-and.html - Add
gar_api_page()to help page through APIs (#121) - Add a
url_overrideargument to generated Google API functions to help with (#121) - Add support for the Google Sign In JavaScript API via a Shiny module (#119 - thanks @dkulp2) - see
googleSignIn - Add support for new Shiny authentication flow where you load auth before main ui.R - see
gar_shiny_auth()
- Another go at JavaScript approval prompt options
- Support web apps (Shiny) in
gar_set_client(#107) - Shiny auth will not attempt to create a
.httr-oauthfile (#84) - Update docs for
gar_batch_walk()with some examples (#175) - Add bigQueryR and googleAnalyticsR to suggests for CRAN test checks.
- Encoding fixed as it broke some functions downstream (#101)
- Fix batching with caching options (#106)
- Add
gar_set_clientto load client id/secret from JSON (Idea via @jennybc / @jimhester atgargle/gmailr)
- Fix bug with batching that didn't parse data (#103)
- If you specify a filename in
gar_auth(token = "blah")that doesn't exist, will create new token there instead of an error - If you specify a valid auth token filename, the scopes and client Id/secret options will now update to the settings within it
- Add encoding to URL parameters you pass in (#101)
- A Slack team set up for googleAuthR package support, sign up via https://goo.gl/forms/d541yrJoDFMrrSJp1
- Default demo project scopes now NULL, set your own Google Project via
options()or by setting up environment arguments (#74):GAR_CLIENTIDGAR_CLIENT_SECRETGAR_WEB_CLIENTIDGAR_WEB_CLIENT_SECRETGAR_SCOPE
- Add ability to return the email of the service account on a GCE instance,
gar_gce_auth_email - Add ability to cache API calls into memory or writing to local disk (#69 and #68)
- Make optional a trailing slash on URIs (#73)
- Improve header checks to be more RFC compliant (#78)
- Use
httrsRETRYfunction for retries that handles handles better (#67) - RStudio Addin now offers menu to prepopulate scopes for APIs from discovery API.
- Add
googleAuthR.batch_endpointoption for specific library batches. - Remove TRAVIS support in environment arguments
- Add
gar_check_existing_token()to improve user feedback on why a reauthentication occurs
- Fix
http2 framing layer errorthat sometimes happens in misconfigured http2 servers (#87) - Update minimum dependency to R
3.3.0to support Shiny function bugs.
- Fix bug in
gar_auto_authwhere it expects a file.path not a token object
- Correct bug of incorrect redirect URL when no port (#45)
- Catch error for retry if no status response at all
- Fix bug where unnamed customConfigs were ignored
- Fixes to discovery API package creations, order of parameters and NULL parameters
- Add authentication option when using Google Compute Engine
gar_gce_auth()(#52) - Add a warning if the cached
.httr-oauthtoken has different scopes to the ones specified at time of authentication (#53) - Add debug body aid: if
option(googleAuthR.verbose = 0)then a request with a body will write to a filerequest_debug.rdsin working directory - Passing in a file location token to
gar_auth("file-location.rds")will only load the first element[[1]]if that token is a list ofToken2.0class objects - Add debug tool
gar_token_info()which will report on current authentication. Available atoptions(googleAuthR.verbose = 2)
- Add client based authentication in JavaScript plus example app
- Add check to
gar_auth_serviceto see if you have downloaded right JSON file - Discovery API functions to get details on Google APIs added:
gar_discovery_apis_listandgar_discovery_api - Add
gar_create_packagethat takesgar_discovery_apiJSON and creates R package - Change warnings() in batch to myMessage() level 2
- ensure batch requests only occur per second to help calculation of QPS limits
- Add 404 message if batch requests are not found.
- Fixed halt error if message can't parse body JSON, will now fail gracefully but carry on
- allow overwriting of default httr "encode" again (#28)
- Headers will contain up to date version number of package
- Add
gar_auto_authandgar_attach_auto_authfor auto-authentication upon a package load - Fix bug where you couldn't pass in the file location of the ".httr-oauth" location to
gar_auth() gar_authnow raises errors not NULL for passing incorrect token file locations of tokensgar_authrespects renamed.httr-oauthtokens now viagetOption("googleAuthR.httr_oauth_cache")- Add link to Github repo with auto-generated packages:
https://github.com/MarkEdmondson1234/autoGoogleAPI
- Add
option(googleAuthR.rawResponse)- skip API checks on response - should now work - A successfull request is now classed as all response codes matching ^20 e.g. 201, 204 etc.
- Document default options in
?googleAuthR - Add
option(googleAuthR.rawResponse)- skip API checks on response. - Add an example Shiny app in
/inst/shiny/shiny-example.R - Add an RStudio Addin for easy authentication. Run via menu or
googleAuthR:::gar_gadget() - Move simplifyVector option to be able to be passed in generated function, defaults to
getOption("googleAuthR.jsonlite.simplifyVector") - Remove scopes option as not used.
- Added
googleAuthR.verboseto control feedback. 0 = everything, 1 = debug, 2=normal, 3=important - Make the retry kick in more often for every 5** and 429 status error
- Support non-JSON uploads (#28)
- Add option to force user consent screen on Shiny login
- Move specification of scope for
gar_auth_serviceto param for more flexibility - Migrated shiny functions to Shiny Modules (#27)
- Added ability to add your own custom headers to requests via
customConfigingar_api_generator - Add 'localhost' to shiny URL detection.
- Google Service accounts now supported. Authenticate via "Service Account Key" JSON.
- Exposed
gar_shiny_getUrland the authentication type (online/offline) inrenderLogin renderLogin: logout now has optionrevoketo revoke authentication token- Added option for
googleAuthR.jsonlite.simplifyVectorfor content parsing for compatibility for some APIs - Batch Google API requests now implemented. See readme or
?gar_batchand?gar_batch_walkfor details. - If data parsing fails, return the raw content so you can test and modify your data parsing function
- Missed Jenny credit now corrected
- Add tip about using
!is.null(access_token())to detect login state - Add HTTP backoff for certain errors (#6) from Johann
- Remove possible NULL entries from path and pars argument lists
- Reduced some unnecessary message feedback
- moved
with_shinyenvironment lookup to within generated function - added gzip to headers
- Shiny compatibility
- Local authentication compatibility