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 googlesheets
bermigrasi 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.
- googlesheet4
- googlesheets googlesheets4
- googlesheets4
4.1.
4.2.
4.3.
4.4. - googlesheets4
- 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
.
googlesheets4
API Google , , googlesheets4
, RStudio.
, dev GitHub.
# devtools
if ( !require(devtools) ) install.packages("devtools")
# googlesheets4
devtools::install_github("tidyverse/googlesheets4")
#
library(googlesheets4)
googlesheets4
3 :
gs4_auth()
.- .
- .
gs4_auth()
.
, , 90% . , .
Gogle Cloud, .
?
:
- Google Cloud Console , . .
- Β« Β» > Β«API Β» > Β« Β».
- Β« Β» > Β« OAuthΒ».
- .
- id secret .
- 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 .
, :
- Google Cloud, .
- Google Sheets API, .
- .
- ( ) "".

- , "".
- " " > JSON > .
- JSON , .
- "".
, .

Google . , .
- Google .
- " ".
- .
:
#
library(googlesheets4)
#
gs4_auth(path = "C:/path/to/service_credential.json")
, , Google , API.
:
- .
- 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.