redashのAPIエンドポイント一覧
redashはAPIを提供してくれているのでGoogleAppsScriptなどからデータ取得するのに便利です。
ただ、実はドキュメントに書かれていないAPIエンドポイントがたくさんあります。
クエリ結果を更新するAPI
#redash/handlers/api.py
api.add_org_resource(QueryRefreshResource, '/api/queries/<query_id>/refresh', endpoint='query_refresh')
キャッシュされているクエリ結果を更新するAPIもあるので、データ取得まえにリフレッシュをかけて最新データを取ることができます。
いちいちリフレッシュスケジュールを設定しなくても良くなりますね。
GETかPOSTか
refreshってPOSTだよね・・・?
エンドポイント一覧を見てもリクエストメソッドが書いていません。なのでAction定義元をみました。
#redash/handlers/queries.py
class QueryRefreshResource(BaseResource):
def post(self, query_id):
query = get_object_or_404(models.Query.get_by_id_and_org, query_id, self.current_org)
require_access(query.groups, self.current_user, not_view_only)
parameter_values = collect_parameters_from_request(request.args)
return run_query(query.data_source, parameter_values, query.query, query.id)
POSTでした。