Authorized access

Authentication is required in order to access boards that are not public, and to make edits. This document explains how to authenticate your access to Trello.

Getting your access token

A secure token is required to authenticate your access to Trello. To obtain it, login to Trello and visit https://trello.com/app-key. You will need to do two things there:

Back in R, feed the key and secret to the get_token() function. This will trigger first-time authorization in the browser, allowing you to cache your token locally. You only have to do it once for a given project, unless you opt out of using cache or the cache file is deleted.

library(trelloR)
my_token = get_token("my-app", key = your_key, secret = your_secret)

This will create an object of class Trello_API_token. Functions in the TrelloR package will always try to read cached token when needed, unless you supply a token object directly. For example, any of these will work with local cache in place:

my_boards = get_my_boards()
my_boards = get_my_boards("path/to/cache/file")

# Works without a cache file, if `my_token` is a Token object.
my_boards = get_my_boards(my_token)

You can create multiple tokens with different names, scope and expiration. See ?get_token for additional arguments.

Keep your credentials safe

Keep your key, secret and any token cache in a safe, non-shared location. Using environment variables or packages like askpass are good options.

Token cache is by default stored in a file called .httr-oauth. You should avoid accidentally copying or exporting this file along with other files. To make this easier, the cache file path is automatically added to .gitignore.

If you think the token might have been compromised or you simply do not want to use it anymore, you should revoke it. Log in to Trello and access your account settings. To make it easier to recognize tokens you have created, use the appname argument when creating a token.

Built with

sessionInfo()
#> R version 4.0.5 (2021-03-31)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: elementary OS 5.1.7 Hera
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
#> 
#> locale:
#>  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=cs_CZ.UTF-8        LC_COLLATE=C              
#>  [5] LC_MONETARY=cs_CZ.UTF-8    LC_MESSAGES=en_GB.UTF-8   
#>  [7] LC_PAPER=cs_CZ.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=cs_CZ.UTF-8 LC_IDENTIFICATION=C       
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] digest_0.6.27     R6_2.5.0          jsonlite_1.7.2    magrittr_2.0.1   
#>  [5] evaluate_0.14     rlang_0.4.10      stringi_1.5.3     jquerylib_0.1.3  
#>  [9] bslib_0.2.4       rmarkdown_2.7     tools_4.0.5       stringr_1.4.0    
#> [13] xfun_0.22         yaml_2.2.1        compiler_4.0.5    htmltools_0.5.1.1
#> [17] knitr_1.32        sass_0.3.1