FlipLink CLIのスクリプト化:CLIの出力をjqにパイプする

FlipLink CLIをスクリプト化しませんか。--jsonの出力をjqにパイプすれば、IDやURLを抽出し、絞り込み、コマンドを連結して、きれいに終了する自動化を組み立てられます。

Sumit Ghugharwal
Sumit Ghugharwal

2026年6月21日 に公開 · 11 min read

この記事をシェアする:

FlipLink CLIは、デフォルトでは親しみやすく人が読みやすい表を出力します。ターミナルで作業しているときには便利です—ですが、何かをスクリプト化しようとした瞬間に、欲しくなるのは生の機械可読なデータです。それをまさに与えてくれるのが--jsonフラグで、jqと組み合わせれば、IDを抽出し、共有リンクを取り出し、ステータスで絞り込み、コマンドを連結して本物の自動化を作れます。

このガイドのテーマは、FlipLink CLIのスクリプト化です。いくつかのコマンドを、小さくて信頼できるパイプラインに変えていきます。このツールがまったく初めてなら、まずはFlipLink CLIをはじめるから読んで、それからここに戻ってきてください。コマンド全体を知りたいときは、CLIドキュメントがリファレンスになります。

スクリプト化を可能にする唯一のフラグ:--json

ほぼすべての読み取り・書き込みコマンドが--jsonを受け付けます。これを付けると、CLIは整形された表ではなく、生のJSONを標準出力に書き出します。

fliplink flipbook list --json

これをそのままjqにパイプすれば、好きなように形を変えられます。スクリプト化するうえで最も大切な習慣は、まず生の出力を確認することです。フィールド名を使う前に、その正確な名前を把握しておきましょう。

# See the full shape of a single item — keys, casing, everything
fliplink flipbook list --json | jq '.[0]'

以下の例では.ID.URLといったありそうなフィールド名を使っていますが、それらを当てにしてはいけません—フィールドの大文字・小文字の付け方は異なる場合があります。上のコマンドを一度実行し、キーを読んで、実際に見えたものに合わせてjqのパスを調整してください。

IDだけを抽出する

定番の最初の一手は、ループで回せるフリップブックIDのフラットなリストを手に入れることです。

fliplink flipbook list --json | jq '.[].ID'

jqは配列を走査し(.[])、各項目からIDフィールドを取り出します。値を別のコマンドに渡したいときに必要となる、前後の引用符が付かないきれいな文字列が欲しいときは、-r(生の出力)でフィールドを包みます—それが必要になるのは、値を別のコマンドに送り込むときです。

fliplink flipbook list --json | jq -r '.[].ID'

共有リンクをきれいなリストにまとめる

同じパターンはどんなフィールドにも使えます。リストの項目にURLが含まれていれば、すべての共有リンクを一度に抽出できます。

fliplink flipbook list --json | jq -r '.[].URL'

タイトルとリンクの2列のレポートが欲しいですか。jqの文字列補間を使って、項目ごとにタブ区切りの行を組み立てましょう。

fliplink flipbook list --json \
  | jq -r '.[] | "\(.Title)\t\(.URL)"'

ここでもまた—.Title.URLを当てにする前に、ご自身の--json出力と照らし合わせて確認してください。キーが違っていたら、入れ替えてください。

動かす前に絞り込む

jqselect()を使えば、条件に合う項目だけを残せます。各項目が公開フラグを持っていて、公開済みのフリップブックのIDだけが欲しいとしましょう。

fliplink flipbook list --json \
  | jq -r '.[] | select(.IsPublished == true) | .ID'

出力を確認して、実際のフラグ名と型を把握してください—ブール値かもしれませんし、文字列かもしれませんし、ステータスフィールドかもしれません。それに合わせてselect()の式を調整します。パターンは同じです。配列を絞り込んでから、必要なフィールドを取り出すだけです。

コマンドを連結する:一覧、絞り込み、そして実行

ここからが便利になるところです。絞り込んだIDをシェルのループにパイプして、それぞれに対して2つ目のコマンドを実行します。この例では、まだ公開されていないフリップブックをすべて見つけ出し、公開します。

fliplink flipbook list --json \
  | jq -r '.[] | select(.IsPublished == false) | .ID' \
  | while read -r id; do
      echo "Publishing $id..."
      fliplink flipbook publish "$id"
    done

while read -r idのループは1行に1つのIDを取り込み、それぞれに対してfliplink flipbook publishを呼び出します。jq -rが引用符を取り除いてくれるので、$idはそのまま渡せるきれいな値になります。同じ形はどんなアクションコマンドにも通用します—set-expiryshare-linkdeleteなどに差し替えてください。

補足:ここで示したコマンドはすべて、本物のFlipLink CLIのコマンドです。用意されたコマンドではカバーできないアクションが必要なときは、fliplink apiという抜け道を使ってください(例:fliplink api PUT /api/set-skin/<id> --data '{"SkinName":"Modern"}')—その下には同じREST APIがあります。

🚀

FlipLinkを無料で試す

PDFを数秒で変換。登録もクレジットカードも不要 — アップロードするだけです。

Drop your PDF here or click to browse

最大40MB

$39 からの有料プランなら、上限が 150 MB に広がります。

小さなレポートを作る

抽出と絞り込みができるようになれば、手軽なステータスレポートはもう1つのjq式を書くだけです。フリップブックの総数と、そのうち何件が公開済みかを数えてみましょう。

fliplink flipbook list --json | jq '{
  total: length,
  published: ([.[] | select(.IsPublished == true)] | length)
}'

これで、ログに記録したり、メールで送ったり、チャンネルに投稿したりできるコンパクトなJSONサマリーが出力されます。人が読みやすい一行のほうがいいですか。

fliplink flipbook list --json \
  | jq -r '"Total: \(length) flipbooks"'

うまくいったかどうかを把握できるスクリプトを書く

パイプラインは、失敗に反応してこそ信頼できます。FlipLink CLIは意味のある終了コードを使うので、スクリプトはそれに応じて分岐できます。

  • 0 — 成功
  • 1 — リクエストまたはHTTPのエラー(ネットワーク、不正なキー、401など)
  • 2 — アプリケーションエラー(APIがResult: ERRORを返した場合)

コマンドのあとで終了コードを確認し、それぞれのケースを処理します。

fliplink flipbook publish "$id"
status=$?

if [ "$status" -eq 0 ]; then
  echo "Published $id"
elif [ "$status" -eq 2 ]; then
  echo "Application error publishing $id (check the response)" >&2
else
  echo "Request failed for $id (exit $status)" >&2
fi

すぐに止まる(fail-fast)スクリプトにしたいなら、先頭にset -eを追加して、最初の非ゼロ終了で実行全体が止まるようにします。一方、しぶとく動き続けるバッチ処理にしたいなら、進めつつ失敗をログに残します—上の終了コードによる分岐こそが、“完了”と“エラーありで完了”を見分ける方法です。

ノートパソコンからではなくCIでスクリプトを動かす場合は、ローカルの設定ファイルではなくFLIPLINK_API_KEY環境変数でキーを設定し、さらに詳しい手順はCI/CDでフリップブックの公開を自動化するで読んでください。

cronで動かす

どんな自動化でも最後の仕上げは、スケジュールに乗せることです。パイプラインをスクリプトとして保存し、実行可能にして、cronのエントリを追加します。これは毎晩02:00に公開とレポートを実行します。

# crontab -e
0 2 * * * FLIPLINK_API_KEY=your_key /home/you/scripts/nightly-publish.sh >> /var/log/fliplink.log 2>&1

標準出力と標準エラー出力の両方をログファイルにリダイレクトする(>> ... 2>&1)と、終了コードによる分岐やjqのレポートが毎回記録されます—だから午前2時に何かが壊れたときも、何が起きたのかを正確に記録として残せます。

このパターンを一行で

このガイドのすべてのスクリプトは、同じ発想です。--jsonで生のデータを取得 → jqで抽出または絞り込み → ループで実行 → 終了コードで検証。 まずはご自身の--json出力を確認してフィールド名を正しく合わせ、パイプラインを一段ずつ組み立てていけば、数分で頼れるFlipLinkの自動化が手に入ります。

関連記事

最初のフリップブックを作成しませんか?

PDFをインタラクティブなフリップブックや文書に変換しましょう。FlipLinkのライフタイムディールなら、永久アクセスがわずか $39 から始められます。

#cli#jq#自動化#スクリプト#json
ライフタイムディール

一度のお支払いで、ずっと使える

10・50・100 フリップブック · 35の全機能 · 無制限ドメイン

$39
10 フリップブック
$89
50 フリップブック
人気
$129
100 フリップブック

プランの差はありません。機能制限もありません。すべてのLTDコードで全機能がご利用いただけます。

  • 全機能が使える — 制限なし
  • 積み重ね可能 — いつでもコードを追加購入
  • 交換可能 — 古いコードを新しいものに入れ替え
  • 独自ドメイン無制限(CNAME)
  • 月額・年額の定期料金なし

関連記事

Tutorials9 min read

FlipLink CLIでCI/CDのフリップブック公開を自動化する

FlipLink CLIを使えば、どんなCI/CDパイプラインでもフリップブックの公開を自動化できます。作成・公開・URL取得・終了コードによる早期失敗まで一気通貫で解説します。

Sumit Ghugharwal