This module is designed to guide a user through the process of authenticating with Google BigQuery. It is responsible for retrieving:
An OAuth 2.0 authorization token
A list of GCP projects that are available to the authenticated user
A list of BigQuery datasets contained within available projects
The user is visually guided through the authentication process. Once authenticated,
the user is presented with project/dataset selections and once configured a
DBI::dbConnect()
object is returned.
This module consists of the following components:
bigquery_setup_ui
: A uiOutput responsible for guiding a user through
the Google OAuth 2.0 authorization flow and graphically selecting a Google Big
Query project/dataset.
bigquery_setup_server
: The logic that controls the graphical user
interface, including redirecting to Google, receiving an authorization code,
requesting an authorization token, and authenticating the application.
Ultimately responsible for returning public Google user information and a
DBI::dbconnect() object used to connect to the configured BigQuery database.
bigquery_setup_ui(id) bigquery_setup_server(id, secrets_json = NULL)
id | The module namespace |
---|---|
secrets_json | A string, containing a file path to a Google OAuth 2.0 Client secrets JSON. |
bigquery_setup_ui:
The Google BigQuery Setup UI
moduleName: A string, containing the module moniker.
moduleType: A string, with the module type (what does it do?)
setup_ui: The module setup ui function
is_connected: A string, with module connection status. Valid statuses are 'yes' or 'no'.
db_con: A DBI::dbConnect object, containing the user configured BigQuery connection information.
user_info: A list, containing public user information from Google about the currently authenticated user.