Tabellenkalkulationen sind nach wie vor ein recht beliebtes Tool für die Arbeit mit Daten. Unter den verschiedenen Tabellenkalkulationsprozessoren sind Google Sheets die beliebtesten. Erstens ist dies ein kostenloses Tool, und zweitens ist die Funktionalität von Google Sheets sehr umfangreich und bietet Ihnen die Möglichkeit, online auf Daten zuzugreifen.
In diesem Artikel erfahren Sie, wie Sie mit der Google Sheets API v4 in der Programmiersprache R mithilfe des Pakets arbeiten googlesheets4
.
- So autorisieren Sie sich fĂĽr die Arbeit mit Google Sheets per API;
- Betrachten Sie die Hauptfunktionen des Pakets.
- Schauen wir uns einige Codebeispiele zum Lesen von Daten, Erstellen neuer Tabellen und DurchfĂĽhren anderer Manipulationen mit Google Sheets per API an.
Dieser Artikel hilft auch Benutzern eines veralteten Pakets bei der googlesheets
Migration auf ein neues googlesheets4
.
FĂĽr diejenigen, die zu faul sind, um den Artikel zu lesen, gibt es hier einen Link zu einer 10-minĂĽtigen Videolektion in russischer Sprache auf YouTube. Der Rest willkommen unter Katze.

Inhalt
, 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.