电子表格仍然是一种非常流行的数据处理工具,在各种电子表格处理器中,Google表格最为流行。首先,这是一个免费工具,其次,Google表格的功能非常广泛,它们为您提供了在线访问数据的机会。
在本文中,我们将了解如何使用程序包R,以编程语言R使用Google Sheets API v4 googlesheets4
,或者更确切地说:
- 如何获得通过API使用Google表格的授权;
- 考虑包的主要功能;
- 让我们看一些代码示例,这些示例用于读取数据,创建新表以及使用Google Sheets by API执行其他操作。
本文还将帮助过时软件包的用户googlesheets
迁移到新软件包googlesheets4
。
对于那些懒于阅读本文的人,这里是指向 YouTube上10分钟的俄语视频课程的链接。其余欢迎在猫之下。

内容
, 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.