【R言語】re:dashのAPIが返す結果をhttrパッケージを使ってGETする
目的
業務にて、re:dashでいくつかの集計を管理しているのですが、時折「re:dashの結果をRでごにょごにょしたい」という時があります。
とはいえ毎回csvでダウンロードしてread.csvというのも面倒で、どうにかRでの操作だけで完結させたい。
解決方法
re:dash公式APIより、https://DOMAIN/api/queries/QUERY_ID/results.csv?api_key=API_KEY
形式でGETすると、クエリの結果がそのままcsvが返ってきます。
これをhttrパッケージを使い、data.frameとして結果を取得します。
事前準備
re:dash管理画面のSettings > Accountより、API Keyを取得してください。
サンプルコード
## library library(dplyr) library(stringr) library(httr) ## args domain <- "xxxxx" query_id <- "xx" API_KEY <- "xxxxx" ## get data(csv形式) url <- "https://DOMAIN/api/queries/QUERY_ID/results.csv?api_key=API_KEY" %>% str_replace("DOMAIN", domain) str_replace("QUERY_ID", as.character(query_id)) %>% str_replace("API_KEY", api_key ) response <- GET(url) res_df <- content(response)
その他
「クエリの結果をGETした時刻」などの詳細データも欲しい場合は
url <- "https://DOMAIN/api/queries/QUERY_ID/results.csv?api_key=API_KEY" %>%
の .csv
を.json
に変更すればOK
(ただしGETしてからの処理は若干変わります)