{"id":17844902,"url":"https://github.com/markedmondson1234/googleauthr","last_synced_at":"2025-04-07T15:11:17.515Z","repository":{"id":36377834,"uuid":"40682697","full_name":"MarkEdmondson1234/googleAuthR","owner":"MarkEdmondson1234","description":"Google API Client Library for R. Easy authentication and help to build Google API R libraries with OAuth2. Shiny compatible. ","archived":false,"fork":false,"pushed_at":"2024-05-22T15:29:31.000Z","size":3489,"stargazers_count":178,"open_issues_count":48,"forks_count":51,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-31T13:17:45.175Z","etag":null,"topics":["api","authentication","google","googleauthr","oauth2-flow","r","shiny"],"latest_commit_sha":null,"homepage":"https://code.markedmondson.me/googleAuthR","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarkEdmondson1234.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["MarkEdmondson1234"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2015-08-13T21:31:16.000Z","updated_at":"2025-02-15T11:34:12.000Z","dependencies_parsed_at":"2024-01-06T14:10:56.975Z","dependency_job_id":"3ed1ad6c-c6de-4b20-8c12-d0f36a70ca5e","html_url":"https://github.com/MarkEdmondson1234/googleAuthR","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkEdmondson1234%2FgoogleAuthR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkEdmondson1234%2FgoogleAuthR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkEdmondson1234%2FgoogleAuthR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkEdmondson1234%2FgoogleAuthR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarkEdmondson1234","download_url":"https://codeload.github.com/MarkEdmondson1234/googleAuthR/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675609,"owners_count":20977378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","authentication","google","googleauthr","oauth2-flow","r","shiny"],"created_at":"2024-10-27T21:33:38.231Z","updated_at":"2025-04-07T15:11:17.489Z","avatar_url":"https://github.com/MarkEdmondson1234.png","language":"R","funding_links":["https://github.com/sponsors/MarkEdmondson1234"],"categories":[],"sub_categories":[],"readme":"# googleAuthR - Google API R Client\n\n## gargle backend\n\nAs of version `googleAuthR\u003e=1.0.0` the OAuth2 and service JSON authentication is provided by [gargle](https://gargle.r-lib.org/index.html).  Refer to that documentation for details.\n\nThe plan is to migrate as much functionality to `gargle` from `googleAuthR`, but backward compatibility will be maintained for all packages depending on `googleAuthR` in the meantime. \n\nOnce there is feature parity, client packages can then migrate totally to `gargle`.  At time of writing some of the major features not in `gargle` yet are:\n\n* Shiny authentication flows\n* Paging\n* Caching\n* Batching\n\nIf you are not using the above then you can use `gargle` directly now.  Otherwise you can still use `googleAuthR` that will use the features of `gargle` and wait for more features to be migrated.\n\n## Overview\n\nThis library allows you to authenticate easily via local use in an OAuth2 flow; within a Shiny app; or via service accounts. \n\nThe main two functions are `gar_auth()` and `gar_api_generator()`.\n\n### `gar_auth`\n\nThis takes care of getting the authentication token, storing it and refreshing. \nUse it before any call to a Google library.\n\n### `gar_api_generator`\n\nThis creates functions for you to use to interact with Google APIs.\nUse it within your own function definitions, to query the Google API you want.\n\n## Summary\n\nAuto-build libraries for Google APIs with OAuth2 for both local and Shiny app use.\n\nGet more details at the [googleAuthR website](https://code.markedmondson.me/googleAuthR/)\n\nThe [`googleAuthRverse`](https://googleauthrverse.slack.com/) Slack team has been setup for support for using `googleAuthR` and the libraries it helps create.  Sign up via this [Google form](https://goo.gl/forms/d541yrJoDFMrrSJp1) to get access. \n\n## R Google API libraries using googleAuthR\n\nHere is a list of [available Google APIs](https://developers.google.com/apis-explorer/#p/) to make with this library.\nThe below libraries are all cross-compatible as they use `googleAuthR` for authentication backend e.g. can use just one OAuth2 login flow and can be used in multi-user Shiny apps. \n\n* [googleComputeEngineR](https://cloudyr.github.io/googleComputeEngineR/) - Google Compute Engine VMs API\n* [searchConsoleR](https://code.markedmondson.me/searchConsoleR/) - Search Console API\n* [bigQueryR](https://code.markedmondson.me/bigQueryR/) - BigQuery API. Part of the cloudyr project.\n* [googleAnalyticsR](https://github.com/8-bit-sheep/googleAnalyticsR/) - Google Analytics API\n* [googleTagManagerR](https://github.com/IronistM/googleTagManageR) - Google Tag Manager API by IronistM\n* [googleID](https://github.com/MarkEdmondson1234/googleID) - Simple user info from G+ API for Shiny app authentication flows.\n* [googleCloudStorageR](https://code.markedmondson.me/googleCloudStorageR/) - Google Cloud Storage API\n* [RoogleVision](https://github.com/cloudyr/googleCloudVisionR) - R Package for Image Recogntion, Object Detection, and OCR using the Google's Cloud Vision API\n* [googleLanguageR](https://github.com/ropensci/googleLanguageR) - Access Speech to Text, Entity analysis and translation APIs from R\n* [googleCloudRunner](https://code.markedmondson.me/googleCloudRunner/) - Continuous Development and Integration with Cloud Run, Cloud Scheduler and Cloud Build\n\nFeel free to add your own via email or a pull request if you have used googleAuthR to build something cool. \n\n`googleAuthR` now has an R package generator which makes R package skeletons you can use to build your own Google API R package upon.  Browse through the 154 options at this [Github repository](https://github.com/MarkEdmondson1234/autoGoogleAPI).\n\n## Thanks to\n\n* Jenny Bryan and her work on the [googlesheets](https://github.com/jennybc/googlesheets) package that this work derives from.\n* Hadley Wickham for [httr's OAuth2](https://github.com/r-lib/httr) excellence\n* RStudio team for [Shiny](https://shiny.posit.co/)\n* [Johann de Boer](https://github.com/jdeboer) for some code contributions.\n\n## Install\n\ngoogleAuthR is available on CRAN\n\n```r\ninstall.packages(\"googleAuthR\")\n```\n\nCheck out [News](NEWS.md) to see the features of the development version.\n\nIf you want to use the development version on Github, install via:\n\n```r\nremotes::install_github(\"MarkEdmondson1234/googleAuthR\")\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkedmondson1234%2Fgoogleauthr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkedmondson1234%2Fgoogleauthr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkedmondson1234%2Fgoogleauthr/lists"}