Skip to contents

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:

Module UI function

  • 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.

Module Server function

  • 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.

Usage

bigquery_setup_ui(id)

bigquery_setup_server(id, secrets_json = NULL)

Arguments

id

The module namespace

secrets_json

A string, containing a file path to a Google OAuth 2.0 Client secrets JSON.

Value

bigquery_setup_ui:

tagList

The Google BigQuery Setup UI

bigquery_setup_server:

reactiveValues
  • 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.