Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

curl で GraphQL クエリを実行する

最終更新 Markdown で表示Agent セットアップ

プレーンな curl でクエリを送ると、結果を切り分けて加工したり、必要に応じて後処理したりできます。たとえば、GraphQL API から受け取った結果を CSV 形式に変換できます。

自動補完やスキーマの探索など、より多くの機能が必要な場合は、GraphQL の クライアント を参照してください。

GraphQL API は、必須フィールドが 2 つある JSON を期待します。"query""variables" です。

クエリは改行を取り除き、1 行の文字列として送ります。variables は、クエリ内のすべてのプレースホルダーに対する値を持つオブジェクトです。

GraphQL API のペイロード構造json
{
  "query": "{viewer { ... }}",
  "variables": {}
}

読みやすいクエリを使うこともできます。次の例では、echotr をパイプでつなぎ、curl に適切なペイロードを渡しています。

curl で Analytics API をクエリする bash スクリプトの例bash
echo '{ "query":
  "{
    viewer {
      zones(filter: { zoneTag: $zoneTag }) {
        firewallEventsAdaptive(
          filter: $filter
          limit: 10
          orderBy: [datetime_DESC]
        ) {
          action
          clientAsn
          clientCountryName
          clientIP
          clientRequestPath
          clientRequestQuery
          datetime
          source
          userAgent
        }
      }
    }
  }",
  "variables": {
    "zoneTag": "<zone-tag>",
    "filter": {
      "datetime_geq": "2022-07-24T11:00:00Z",
      "datetime_leq": "2022-07-24T12:00:00Z"
    }
  }
}' | tr -d '\n' | curl --silent \
https://api.cloudflare.com/client/v4/graphql \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data @-

役に立ちましたか?