QMK API を使ってキーボードのリストを取得する方法
前置き
自作キーボードのトラブルシューティングのための問診票テンプレートを作る時に、QMK Firmware リポジトリの keyboards
ディレクトリにあるキーボードのリストを取得する方法を発見していました。
ネットを検索しても紹介されているページが見当たらないので、こちらで紹介します。
方法
https://api.qmk.fm/v1/keyboards
にアクセスするとキーボードのリストが JSON 形式で返ってきますので、使用目的に合わせてテキスト処理をして使います。
1// コード例
2fetch('https://api.qmk.fm/v1/keyboards')
3 .then(response => {
4 if (!response.ok) {
5 throw new Error('Response not success.');
6 }
7 return response.text();
8 })
9 .then(data => {
10 // `data` は CSV なので `split(',')` で配列に変換。
11 const keyboardList = data.split(',');
12 console.log(keyboardList);
13 })
14 .catch(error => console.error('There has been a problem with your fetch operation:', error));
15
16> ["["0_sixty"", ""10bleoledhub"", ""1upkeyboards/1up60hse"", ""1upkeyboards/1up60hte"", ...
コード例2
1curl https://api.qmk.fm/v1/keyboards | jq
2
3[
4 "0_sixty",
5 "0_sixty/underglow",
6 ...
7 "zvecr/zv48/f401",
8 "zvecr/zv48/f411"
9]
参考情報 qmk_api/docs/keyboard_api.md at master · qmk/qmk_api フェッチ API の使用 - Web API | MDN