Cómo trabajar con la API de Hojas de cálculo de Google (API de Hojas de cálculo de Google v4) en R usando el nuevo paquete de Google Googlesheets4

Las hojas de cálculo siguen siendo una herramienta bastante popular para trabajar con datos, y entre los diversos procesadores de hojas de cálculo, las hojas de cálculo de Google son las más populares. En primer lugar, esta es una herramienta gratuita y, en segundo lugar, la funcionalidad de Google Sheets es bastante amplia y le brindan la oportunidad de acceder a los datos en línea.


En este artículo, entenderemos cómo trabajar con Google Sheets API v4 en el lenguaje de programación R usando el paquete googlesheets4, o más bien:


  • CĂłmo obtener la autorizaciĂłn para trabajar con Google Sheets por API;
  • Considere las funciones principales del paquete;
  • Veamos algunos ejemplos de cĂłdigo para leer datos, crear nuevas tablas y realizar otras manipulaciones con Google Sheets por API.

Este artículo también ayudará a los usuarios de un paquete obsoleto a googlesheetsmigrar a uno nuevo googlesheets4.


Para aquellos que son demasiado flojos para leer el artĂ­culo, aquĂ­ hay un enlace a una lecciĂłn de video en ruso de 10 minutos en YouTube. El resto es bienvenido bajo gato.



Contenido


, R, telegram youtube . R.


  1. googlesheet4
  2. googlesheets googlesheets4
  3. googlesheets4

  4. 4.1.
    4.2.
    4.3.
    4.4.
  5. googlesheets4
  6. API Google R
    6.1. Google
    6.2. Google API
    6.3. Google
    6.4.
    6.5. Google Google

googlesheet4


R, Google Sheets API googlesheet. , — " googlesheets4 ?".


, googlesheets , Google Sheets API V3. Google , 3 API 3 2020 .



, googlesheets, 3 googlesheets4, .


googlesheets googlesheets4


googlesheets googlesheets4 .


googlesheetsgooglesheets4
gs_auth()gs4_auth()
gs_key(), gs_url()as_sheets_id()
gs_read()range_read()
gs_new()gs4_create()
gs_ws_new()sheet_add()
gs_add_row()sheets_append()

googlesheets4


API Google , , googlesheets4, RStudio.


, dev GitHub.


#   devtools
if ( !require(devtools) ) install.packages("devtools")
#   googlesheets4
devtools::install_github("tidyverse/googlesheets4")

#  
library(googlesheets4)


googlesheets4 3 :


  1. gs4_auth().
  2. .
  3. .


gs4_auth() .


, , 90% . , .


Gogle Cloud, .



?


:


  1. Google Cloud Console , . .
  2. « » > «API » > « ».
  3. « » > « OAuth».
  4. .
  5. id secret .
  6. JSON , id .

JSON


ID


Google Console, " OAuth", email, .



, Google Sheets API, API.



RStudio, .


JSON :


#  
library(googlesheets4)

#    JSON ,   
gs4_auth_configure(path = "C:/path/to/app_credential.json")

#  
gs4_auth(email = "your_email@gmail.com")

ID :


#  
library(googlesheets4)

#    JSON ,   
httr::oauth_app(appname = "app_name", 
                  key    = "00000000-abcdefghk.apps.googleusercontent.com", 
                  secret = "qwertyuiopasdf")

#  
gs4_auth(email = "your_email@gmail.com")

gs4_auth(), , . RStudio .



, :


  1. Google Cloud, .
  2. Google Sheets API, .
  3. .
  4. ( ) "".
  5. , "".
  6. " " > JSON > .
  7. JSON , .
  8. "".

, .


Google . , .


  1. Google .
  2. " ".
  3. .

:


#  
library(googlesheets4)

#     
gs4_auth(path = "C:/path/to/service_credential.json")

, , Google , API.



:


  1. .
  2. Google . Google .

. , - JSON , .


googlesheets4


googlesheets4.


  • gs4_auth() — ;
  • as_sheets_id() — Google , URL Google ;
  • range_read() — Google ;
  • gs4_create() — Google ;
  • sheets_write() — Google , . ;
  • sheets_append() — ;
  • sheet_add() — Google ;
  • sheet_delete() — Google ;
  • sheet_names() — Google ;
  • sheets_browse() — Google .

, Google .


API Google R


Google .



- . Google R iris, mtcars ToothGrowth.


Google


Google .


, , .


as_sheet_id(), URL Google .


URL: https://docs.google.com/spreadsheets/d/1hP1OwJuSHfvrTZvZUgEHDwcPPVlDMwPwCqCQPs64OSE/
: 1hP1OwJuSHfvrTZvZUgEHDwcPPVlDMwPwCqCQPs64OSE

URL , /d/ .


googlesheets4 range_read().


Google


#  
library(googlesheets4)

#      
gs4_auth(email = "your_mail@gmail.com")

#    
my_dox <- as_sheets_id("1hP1OwJuSHfvrTZvZUgEHDwcPPVlDMwPwCqCQPs64OSE")
#     test_data
data   <- range_read(my_dox, sheet = "test_data")

.


data <- as_sheets_id("1hP1OwJuSHfvrTZvZUgEHDwcPPVlDMwPwCqCQPs64OSE") %>%
        range_read("test_data")

Google API


gs4_create() .


  • name — Google ;
  • locale — ;
  • timeZone — ;
  • sheets — , , , .

Google


#  
library(googlesheets4)

#      
gs4_auth(email = "your_email@gmail.com")

#  Google 
ss <- gs4_create(name = "my_new_dox", 
                    locale = "ru_RU",
                    sheets = list(mtcars = mtcars,
                                  iris   = head(iris)))

#     
sheets_browse(ss)

Google "my_new_dox", 2 : mtcars, iris.


Google


, Google , , ss.


, .



#     
sheets_write(ToothGrowth, ss, 
             sheet = "tooth_growth")

Writing to 'my_new_dox'
Writing to sheet "tooth_growth"

sheets_write() 3 :


  • data — , .
  • ss — Google , as_sheets_id() gs4_create().
  • sheet — Google , .


— .


sheets_append(), 3, .


  • data — .
  • ss — Google , as_sheets_id() gs4_create().
  • sheet — .

my_new_dox iris 6 , .



#     iris
sheets_append(data = iris[7:150,], ss, 
              sheet = "iris")

Writing to 'my_new_dox'
Appending 144 row(s) to 'iris'

Google Google


, googlesheets4 googledrive.


googledrive


install.packages("googledrive")

Google drive_mv(). drive_auth().


googledrive , .. gargle. drive_auth() googlesheets4 : gs4_auth(token = drive_token()).


Google URL . drive_mkdir().


as_id().


Google Google


#  
library(googlesheets4)
library(googledrive)

# 
##     ,    
## gs4_auth(email = "your_email@gmail.com")
## drive_auth(email = "your_email@gmail.com")

##      google drive,         google sheets
drive_auth(email = "your_email@gmail.com")
gs4_auth(token = drive_token())

#      
##      
ss     <- as_sheets_id("1BNrYUajVSR3wuGySY0ybXrqH3-Jjq-eIS5_f_a6kt_c")

##        Google 
folder <- as_id("1x94xChfZwSCPFzHvWqwk6HyF85_ASDFW")

#    
## folder <- drive_mkdir("my_folder")

#  Google    
drive_mv(file = ss, 
         path = folder)

File moved:
  * my_new_dox -> my_folder/my_new_dox


:




googlesheets4 , Google Sheets API.


googlesheets4 . 2020 , .


, , R . , youtube , R.


All Articles