api
rest
redash

redashのAPIエンドポイント一覧とリクエストメソッド

More than 1 year has passed since last update.

redashのAPIエンドポイント一覧

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)

https://github.com/getredash/redash/blob/8b73a2b135aed8fcbca139380a959b9222ae0080/redash/handlers/queries.py#L121

POSTでした。