googleAuthR
を使用してGoogleスプレッドシートからデータをリクエストしようとしています。 Jenny Bryanのgooglesheets
の代わりにこのライブラリを使用する必要があります。これは、複数のユーザー認証を使用する光沢のあるアプリケーションの一部であるためです。リクエストの範囲は、スペース(例えば"Sheet1!A:B"
リクエストが成功したが含まれていない場合には、タブ名にスペース(たとえば"'Sheet 1'!A:B"
または"\'Sheet 1\'!A:B"
が含まれている場合しかし、要求はこのエラーを失敗し、スロー:。googleAuthR、httr、jsonliteを使用したGoogleスプレッドシートAPIへのHTTPリクエストの失敗
Request Status Code: 400
Error : lexical error: invalid char in json text.
<!DOCTYPE html> <html lang=en>
(right here) ------^
マーク・エドモンドソンのgoogleAuthR
は用jsonlite
を使用しています。JSONを解析、私はこのエラーがjsonlite
から来ていると仮定し、私はそれを修正する方法については途方に暮れてよここで問題を再現する最小限の例です。
library(googleAuthR)
# scopes
options("googleAuthR.scopes.selected" = "https://www.googleapis.com/auth/spreadsheets.readonly")
# client id and secret
options("googleAuthR.client_id" = "XXXX")
options("googleAuthR.client_secret" = "XXXX")
# request
get_data <- function(spreadsheetId, range) {
l <- googleAuthR::gar_api_generator(
baseURI = "https://sheets.googleapis.com/v4/",
http_header = 'GET',
path_args = list(spreadsheets = spreadsheetId,
values = range),
pars_args = list(majorDimension = 'ROWS',
valueRenderOption = 'UNFORMATTED_VALUE'),
data_parse_function = function(x) x)
req <- l()
req
}
# authenticate
gar_auth(new_user = TRUE)
# input
spreadsheet_id <- "XXXX"
range <- "'Sheet 1'!A:B"
# get data
df <- get_data(spreadsheet_id, range)
どのように私はトンのためにrange
変数をフォーマットする必要があります彼は仕事を要求する?助けを前にありがとう。
URLendcodingはgoogleAuthR、0.6.2の最新バージョンです – MarkeD