Cara bekerja dengan Google Sheets API (Google Sheets API v4) di R menggunakan paket googlesheets4 baru

Spreadsheet masih merupakan alat yang cukup populer untuk bekerja dengan data, dan di antara berbagai prosesor spreadsheet, Google Sheets adalah yang paling populer. Pertama, ini adalah alat gratis, dan kedua, fungsi Google Sheets cukup luas, dan mereka memberi Anda kesempatan untuk mengakses data online.


Pada artikel ini, kita akan memahami cara bekerja dengan Google Sheets API v4 dalam bahasa pemrograman R menggunakan paket googlesheets4, atau lebih tepatnya:


  • Cara mendapatkan otorisasi untuk bekerja dengan Google Sheets oleh API;
  • Pertimbangkan fungsi utama paket;
  • Mari kita lihat beberapa contoh kode untuk membaca data, membuat tabel baru dan melakukan manipulasi lain dengan Google Sheets by API.

Artikel ini juga akan membantu pengguna paket usang googlesheetsbermigrasi ke yang baru googlesheets4.


Bagi mereka yang terlalu malas untuk membaca artikel, di sini ada tautan ke pelajaran video 10 menit berbahasa Rusia di YouTube. Sisanya diterima di bawah kucing.



Kandungan


, 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