## ----message = FALSE---------------------------------------------------------- curl::curl_version() ## ----message = FALSE, eval=FALSE---------------------------------------------- # secret = "vsV[...]6m7" # # key = "85169[...]9pk.apps.googleusercontent.com" ## ----message = FALSE, eval=FALSE---------------------------------------------- # endpoint <- httr::oauth_endpoints("google") # # gmail_app <- httr::oauth_app( # "xpto-allan", # key = key, # secret = secret # ) # # scope <- "https://mail.google.com/" # # auth_code <- httr::oauth2.0_token(endpoint, app = gmail_app, scope = scope) ## ----message = FALSE, eval=FALSE---------------------------------------------- # token <- auth_code$credentials$access_token # ## ----message = FALSE, eval = FALSE-------------------------------------------- # library(mRpostman) # con <- configure_imap(url="imaps://imap.gmail.com", # username = "user@gmail.com", # use_ssl = TRUE, # verbose = TRUE, # xoauth2_bearer = token # ) # # con$list_server_capabilities() # ## ----message = FALSE, echo = FALSE-------------------------------------------- c("IMAP4rev1", "UNSELECT", "IDLE", "NAMESPACE", "QUOTA", "ID", "XLIST", "CHILDREN", "X-GM-EXT-1", "UIDPLUS", "COMPRESS=DEFLATE", "ENABLE", "MOVE", "CONDSTORE", "ESEARCH", "UTF8=ACCEPT", "LIST-EXTENDED", "LIST-STATUS", "LITERAL-", "SPECIAL-USE", "APPENDLIMIT=35651584") ## ----message = FALSE, eval=FALSE---------------------------------------------- # # thanks to jdeboer code at https://github.com/r-lib/httr/issues/31 # oauth2.0_refresh <- function(endpoint, app, auth_code, type = NULL) { # req <- httr::POST( # url = endpoint$access, # multipart = FALSE, # body = list( # client_id = app$key, # client_secret = app$secret, # grant_type = "refresh_token", # refresh_token = auth_code$credentials$refresh_token # ) # ) # content_out <- httr::content(req, type = type) # content_out <- c(content_out, auth_code$credentials$access_token) # } # # auth_code_new <- oauth2.0_refresh(endpoint, app=gmail_app, auth_code=auth_code) # # token <- auth_code_new$access_token