Qiita API v2 で自分の記事の view 数の一覧を取得する

題名の通りです。Google Analytics のトラッキング ID を設定する箇所があることも最近知ったのですが、 API が特に手続きなしで使えることも知りませんでした...
Google Analytics でカバーできない記事の view 数を(KPI などで)今後もしかしたら使うかもしれないので、いざという時のためにスクリプトを書いてみました。

#!/bin/bash

ACCESS_TOKEN=<your-access-token>

ITEM_IDs=`curl https://qiita.com/api/v2/authenticated_user/items \
    --header "Authorization: Bearer ${ACCESS_TOKEN}" \
    | jq -r '.[] | [.id] | @csv'`

for ITEM_ID in $ITEM_IDs
do 
    ITEM_ID=`echo $ITEM_ID | tr -d '"'`
    ITEM=`curl -s https://qiita.com/api/v2/items/${ITEM_ID} \
        --header "Authorization: Bearer ${ACCESS_TOKEN}"`
    TITLE=`echo $ITEM | jq -r '.title'`
    VIEW=`echo $ITEM | jq -r '.page_views_count'`
    echo $TITLE: $VIEW
done

実行すると、こんな感じで取得できます。(未公開の記事も含まれていそう)

OCI DevOps で Oracle Functions の CI/CD - パイプライン作成編: 366
OCI DevOps で Oracle Functions の CI/CD - 事前準備編: 470
Helidon 2.4.0 で導入された OpenID Connect のログアウト機能(RP-Initiated Logout)について: 519
OCI API Gateway のレスポンスキャッシュ機能について: 654
MAN スタックで WebAuthn - ユーザー登録編: 10
OKEでARMコンテナを動かす: 858
OCI API Gateway の認証・認可機能について: 1283
Java Management Service ことはじめ: 937
Helidon + IDCSでFIDO認証: 1158
Helidon MP, WebAuthn4Jで簡易的なRelying Partyを実装してみる: 1214
OCI StreamingをSDK経由で触ってみた: 747
JWT Validatorことはじめ: 929
Spring Boot, Doma2, Gradleの初期設定まとめ: 5405
今更ながらSpring Data JPAを触ってみる: 13172
MANスタックでWebAuthn - ユーザー認証編: 1313
MANスタックでWebAuthn - ユーザ登録編: 2286
職務経歴書をGitLab Pages を使って公開してみた: 2792
Angular9でBootstrap4を使う: 5399
Nest.jsのDB接続周りでハマった話: 7744
WSL2でWindows10の開発環境を整える: 8762