knitr::opts_chunk$set( comment = "#>", collapse = TRUE, error = FALSE, tidy = FALSE )
Before you send any requests to the Google Analytics API, it's necessary to perform authorization and to obtain access token. It can be done with the following command:
(Please note that you can immediately revoke the authorization in Google Account Management page Apps connected to your account, so that no need to worry about the security of your Google account. For more details please go to the section below Revoke access application)
After calling this function first time, a web browser will be opened. If
username argument was not specified you need choose an account for the authorization. First entrance with a Google Account confirms access to the Google Analytics data. Note that the package requests access for the read-only data.
authorize() function is used, the
Token variable is created in the separate
.RGAEnv environment which not visible for user. So, there is no need to pass every time the
token argument to any function which requires authorization.
list_profiles() ga_data <- get_ga(profileId = "ga:XXXXXXXX")
Access token can also be stored in a variable and passed as the argument to the functions which request the API Google Analytics. It can be useful when you are working with several accounts at the same time (for details see below).
ga_token <- authorize(client.id = "client_id", client.secret = "client_secret") ga_data <- get_ga(profileId = "ga:XXXXXXXX", token = ga_token)
To authorize of the new Google Analytics account use
new.auth argument when
authorize() function call.
RGA package provides predefined Client ID and Client secret, but we recomend to obtain your own a Client ID and Client secret to access to the Google Analytics API.
To find your project's client ID and client secret, do the following:
To enable Analytics API for your project, do the following:
Besides the explicit specifying of the
client.secret arguments, their values can be defined via environment variables:
RGA_CLIENT_SECRET. In this case, specifying of the
client.secret arguments is not required for calling
Note: do not put the Client secret on a publicly visible location.
Setting the environment variables is different for various operating systems. The user should refer to the relevant reference materials (view the list of references at the end of this manual). Also there is a setup method of the environment variables when running R sessions using the
.Renviron files in the working or user's home directory. Contents of the file might look like this:
Environment variables can also be set directly from R session using the
Sys.setenv() function. For instance:
Sys.setenv(RGA_CLIENT_ID = "client_id", RGA_CLIENT_SECRET = "client_secret")
This string can be added to the file
.Rprofile in the user's current оr home directory in order to set these variables automatically when the R session starts.
cache argument and the
rga.cache option is not changed and
username param is not specified, then after successful authorization the
.ga-token.rds file with access token to Google API will be created in the current working directory. The
.ga-token.rds file is used between sessions, i.e. at a subsequent call to the
authorize() function and authorization in the browser tab is not required. If
username argument specified token will be cached in the
cache argument you can also suppress caching (
FALSE value) or specify an alternate path to the file storage (in this case It is necessary to specify the path and file name explicitly).
authorize(client.id, client.secret, cache = "/path/to/file")
Also you can specify a cache path to change
rga.cache option. After this you no need specify
cache argument for calling
options(rga.cache = "/path/to/file") authorize(client.id, client.secret)
To disable caching set the
rga.cache option or
cache argument to
If you want to work with
RGA package with multiple Client IDs and Client secrets from different accounts (for example from business account at work and personal account at home) you need to clearly distinguish them. The best way in this case is creating two different tokens with disabled
work_token <- authorize(client.id1, client.secret1, cache = FALSE) home_token <- authorize(client.id2, client.secret2, cache = FALSE)
or define a specific cache path for each token:
work_token <- authorize(client.id1, client.secret1, cache = "work.token") home_token <- authorize(client.id2, client.secret2, cache = "home.token")
Also you can specify
work_token <- authorize(username = "[email protected]") home_token <- authorize(username = "[email protected]")
Tokens will be stored to the separated files.
Then pass this token to other functions:
list_profiles(token = work_token) list_profiles(token = home_token)
To revoke access the
RGA package do the following:
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.