WAWAWA_CHCHCH

業務中に出た「ちょっと困ったこと」をメモする場

【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してからの処理は若干変わります)