| Type: | Package |
| Title: | A Simple Connection Between the 'FormShare App' and 'R' for Advanced Analytics |
| Version: | 1.0.2 |
| Description: | Provides analytics directly from 'R'. It requires a 'FormShare App' (version 2.22.0 or later) https://github.com/qlands/FormShare with its Analytics and Remote SQL plugins installed. |
| URL: | https://github.com/qlands/formshare-R-package |
| BugReports: | https://github.com/qlands/formshare-R-package/issues |
| Depends: | R (≥ 3.0) |
| Imports: | R6, httr, jsonlite, utils |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| StagedInstall: | yes |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| Config/roxygen2/version: | 8.1.1 |
| NeedsCompilation: | no |
| Packaged: | 2026-11-04 15:42:00 UTC; cquiros |
| Author: | Carlos Quiros |
| Maintainer: | Carlos Quiros <cquiros@qlands.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-11-04 23:20:23 UTC |
An R6 Class Representing a connection to FormShare
Description
The main FormShare class.
Details
This class encapsulates all functions to execute analytics in FormShare.
Public fields
user_idThe user ID in FormShare.
api_keyThe API key used to connect to FormShare.
api_secretThe API secret used to connect to FormShare
server_urlThe FormShare server to connect to
logged_inWhether the used has a valid connection
api_tokenToken to use in other functions
token_urlFormShare URL to retrieve a valid token
Methods
Public methods
FormShare$new()
Create a new FormShare object.
Usage
FormShare$new( server_url = "https://formshare.org", user_id = "", api_key = "", api_secret = "" )
Arguments
server_urlServer URL. By default https://formshare.org
user_idThe user ID to use
api_keyThe API Key to use.
api_secretThe API Secret to use.
Returns
A new FormShare object.
FormShare$get_api_key()
Get the current API key.
Usage
FormShare$get_api_key()
FormShare$set_api_key()
Sets the current API key.
Usage
FormShare$set_api_key(new_key)
Arguments
new_keyNew API key
FormShare$get_api_secret()
Get the current API secret
Usage
FormShare$get_api_secret()
FormShare$set_api_secret()
Sets the current API secret.
Usage
FormShare$set_api_secret(new_secret)
Arguments
new_secretNew API secret
FormShare$get_server_url()
Get the current server URL
Usage
FormShare$get_server_url()
FormShare$set_server_url()
Sets the current server URL.
Usage
FormShare$set_server_url(new_url)
Arguments
new_urlNew server URL
FormShare$login()
Log-in to the FormShare server and stores a API token
Usage
FormShare$login()
Returns
True of False if the connection was successful.
FormShare$get_repositories()
Return the repositories that the user has access to.
Usage
FormShare$get_repositories()
Returns
A data frame with repositories that the user has access to.
FormShare$get_tables()
Get the tables in a repository.
Usage
FormShare$get_tables(repository)
Arguments
repositoryThe repository to use
Returns
A data frame with tables inside a repository.
FormShare$get_fields()
Get the fields in a table of a repository.
Usage
FormShare$get_fields(repository, table)
Arguments
repositoryThe repository to use
tableThe table to use
Returns
A data frame with fields inside a table.
FormShare$execute()
Executes an SQL and returns it result.
Usage
FormShare$execute(repository, sql)
Arguments
repositoryThe repository to use
sqlSQL to execute
Returns
A data frame with the result of the execution.
FormShare$get_table()
A convenient function to return the contents of a table.
Usage
FormShare$get_table(repository, table)
Arguments
repositoryThe repository to use
tableTable to retrieve
Returns
A data frame with data of the table
FormShare$clone()
The objects of this class are cloneable with this method.
Usage
FormShare$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Examples
# This class requires an API key and secret
# you can get one at https://formshare.org/
#
# Create a new connection to FormShare
my_connection = FormShare$new(server_url = "https://formshare.org",
user_id = "my_user",api_key = "my_api_key",api_secret = "my_api_secret")
# Log in with your account credentials
my_connection$login()
# Get the repositories that your account has access to
repositories = my_connection$get_repositories()
# Get the tables in a repository
tables = my_connection$get_tables("a_repository")
# Get the fields in a table
fields = my_connection$get_fields("a_repository", "a_table")
# Execute a SQL
data = my_connection$execute("a_repository", "SELECT * FROM maintable")
# Get the data from a table
data = my_connection$get_table("a_repository", "a_table")