Cloudflare の Radar API へ最初のリクエストを送るには、先に API トークン を取得する必要があります。カスタムトークンを作成し、Permissions グループで Account > Radar を選び、アクセスレベルは Read にします。
トークンを取得したら、https://api.cloudflare.com/client/v4/radar/ の Radar API へ最初のリクエストを送れます。
次の例では、直近 7 日間のデバイスタイプ(モバイルトラフィックとデスクトップトラフィックなど)のグローバルな割合分布を取得します。詳細は Get device types summary エンドポイントを参照してください。
curl "https://api.cloudflare.com/client/v4/radar/http/summary/device_type?dateRange=7d&format=json" \
--header "Authorization: Bearer <API_TOKEN>"成功時のレスポンスは、次のようになります。
{
"success": true,
"errors": [],
"result": {
"summary_0": {
"desktop": "58.223483",
"mobile": "41.725833",
"other": "0.050684"
},
"meta": {
"dateRange": {
"startTime": "2022-10-26T14:00:00Z",
"endTime": "2022-11-02T14:00:00Z"
},
"normalization": "PERCENTAGE",
...
}
}
}このレスポンスは、リクエストの 41% がモバイルデバイス、58% がデスクトップトラフィックとして分類されていることを意味します。
前の例は、ボットと人間の両方のトラフィックを返します。人間からのトラフィックだけを取得するには(Cloudflare Radar ↗ のデフォルト)、botClass=LIKELY_HUMAN を追加します。ボットからのトラフィックだけを取得するには、botClass=LIKELY_AUTOMATED を使います(詳細は Bot クラス を参照してください)。例:
curl "https://api.cloudflare.com/client/v4/radar/http/summary/device_type?dateRange=7d&botClass=LIKELY_AUTOMATED&format=json" \
--header "Authorization: Bearer <API_TOKEN>"上のコマンドを実行して、モバイルとデスクトップのトラフィック分布に違いがあるか確認してみてください。
Python ↗ は、データ分析の標準的な言語の 1 つです。同じデータを Requests ↗ と Pandas ↗ でチャート化する簡単な例を示します。ここでは、Pandas への取り込みを簡単にするため、パラメーターに format=csv を使います。
import io
import requests
import pandas as pd
cf_api_url = "https://api.cloudflare.com/client/v4"
params = "dateRange=7d&format=csv"
my_token = "xxx" # TODO replace
r = requests.get(f"{cf_api_url}/radar/http/summary/device_type?{params}",
headers={"Authorization": f"Bearer {my_token}"})
df = pd.read_csv(io.StringIO(r.text))
df.plot(kind="bar", stacked=True)ノートブック ↗ は、テキスト、コード、チャートなどの出力を 1 つのドキュメントにまとめられる、Web ベースの対話型コンピューティング環境です。API を自分のプロジェクトで使う例は、Radar の Colaboratory ノートブック ↗ を参照してください。
データの比較方法は データを比較する を参照してください。