Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

google drive authentication problem #444

Open
agronomofiorentini opened this issue Aug 21, 2023 · 0 comments
Open

google drive authentication problem #444

agronomofiorentini opened this issue Aug 21, 2023 · 0 comments

Comments

@agronomofiorentini
Copy link

Dear Creators,
First of all thank you to have develop this amazing package.

I have a virtual machine set up to be able to access google earth engine using the rgee package

Before to start the authentication with google earth engine i would like to authenticate me by using the googledrive R package, because i will store all the data inside of it.

when I run the code manually it works perfectly but when I run a cron jobs with the cronr package the code gives me the following error.

<error/rlang_error>
Error in `googledrive::drive_auth()`:
! Can't get Google credentials.
ℹ Are you running googledrive in a non-interactive session? Consider:
• Call `drive_deauth()` to prevent the attempt to get credentials.
• Call `drive_auth()` directly with all necessary specifics.
ℹ See gargle's "Non-interactive auth" vignette for more details:
ℹ <https://gargle.r-lib.org/articles/non-interactive-auth.html>

while when I run the code manually this is the result

>     googledrive::drive_auth(email ="useremail@gmail.com")
trying `token_fetch()`
Trying `credentials_byo_oauth()` ...
Error caught by `token_fetch()`:
inherits(token, "Token2.0") is not TRUE
trying `credentials_service_account()`
Error caught by `token_fetch()`:
Argument 'txt' must be a JSON string, URL or file.
trying `credentials_external_account()`
aws.ec2metadata not installed; can't detect whether running on EC2 instance
trying `credentials_app_default()`
Trying `credentials_gce()` ...
✖ We don't seem to be on GCE.
trying `credentials_user_oauth2()`
attempt to access internal gargle data from: googledrive
Gargle2.0 initialize
adding "userinfo.email" scope
loading token from the cache
email: useremail@gmail.com
oauth client name: tidyverse-erato
oauth client name: web
oauth client id: 603366585132-frjlouoa3s2ono25d2l9ukvhlsrlnr7k.apps.googleusercontent.com
scopes: ...drive, ...userinfo.email
token(s) found in cache:
928dfaa8a7345b1e2252d3bb85b912c6_useremail@gmail.com
token we are looking for:
928dfaa8a7345b1e2252d3bb85b912c6_useremail@gmail.com
matching token found in the cache
>     rgee::ee_Initialize(drive=T, 
+                         user="useremail@gmail.com",
+                         auth_quiet = T)
── rgee 1.1.7 ─────────────────────────────────────────────────────────────────────────────── earthengine-api 0.1.364 ── 
 ✔ user: useremail@gmail.com 
 ✔ Google Drive credentials:Auto-refreshing stale OAuth token.
putting token into the cache:
/home/agronomofiorentini/.config/earthengine//useremail@gmail.com
 ✔ Google Drive credentials:  FOUND
 ✔ Initializing Google Earth Engine:  DONE!
 ✔ Earth Engine account: users/useremail
 ✔ Python Path: /usr/bin/python3 
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 

How can i fix this?

this is the code that i am using to autheticate me

googledrive::drive_auth(email ="useremail@gmail.com")

rgee::ee_Initialize(drive=T, 
                     user="useremail@gmail.com",
                     auth_quiet = T)

This is my r session info

R version 4.3.1 (2023-06-16)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.2 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so;  LAPACK version 3.10.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

time zone: Etc/UTC
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shiny_1.7.5

loaded via a namespace (and not attached):
 [1] gtable_0.3.3      bslib_0.5.1       ggplot2_3.4.3     raster_3.6-23     processx_3.8.2    gargle_1.5.1     
 [7] lattice_0.21-8    vctrs_0.6.3       tools_4.3.1       Lmoments_1.3-1    ps_1.7.5          generics_0.1.3   
[13] curl_5.0.1        goftest_1.2-3     tibble_3.2.1      fansi_1.0.4       blob_1.2.4        pkgconfig_2.0.3  
[19] Matrix_1.5-4.1    checkmate_2.2.0   lifecycle_1.0.3   SPEI_1.8.1        compiler_4.3.1    munsell_0.5.0    
[25] terra_1.7-39      fontawesome_0.5.1 codetools_0.2-19  httpuv_1.6.11     htmltools_0.5.6   sass_0.4.7       
[31] later_1.3.1       pillar_1.9.0      crayon_1.5.2      jquerylib_0.1.4   cronR_0.6.5       MASS_7.3-60      
[37] ellipsis_0.3.2    openssl_2.0.6     cachem_1.0.8      RPostgres_1.4.5   mime_0.12         tidyselect_1.2.0 
[43] digest_0.6.33     rgee_1.1.7        purrr_1.0.2       dplyr_1.1.2       fastmap_1.1.1     grid_4.3.1       
[49] colorspace_2.1-0  lmom_2.9          cli_3.6.1         magrittr_2.0.3    TLMoments_0.7.5.3 utf8_1.2.3       
[55] rappdirs_0.3.3    scales_1.2.1      promises_1.2.0.1  backports_1.4.1   sp_2.0-0          bit64_4.0.5      
[61] googledrive_2.1.1 lubridate_1.9.2   timechange_0.2.0  httr_1.4.6        bit_4.0.5         reticulate_1.31  
[67] askpass_1.1       zoo_1.8-12        png_0.1-8         hms_1.1.3         memoise_2.0.1     RPostgreSQL_0.7-5
[73] miniUI_0.1.1.1    rlang_1.1.1       lmomco_2.4.9      Rcpp_1.0.11       xtable_1.8-4      glue_1.6.2       
[79] DBI_1.1.3         reshape_0.8.9     rstudioapi_0.15.0 jsonlite_1.8.7    plyr_1.8.8        R6_2.5.1         
[85] shinyFiles_0.9.3  fs_1.6.3 

I have tried also to use the token and save it as RDS and load when the cron job start, but dind't work.

token<-gargle::credentials_user_oauth2(scopes, client = gargle::gargle_client())

If you need more information, i am here always available.

Thanks again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant