FlipLink CLIのスクリプト化:CLIの出力をjqにパイプする
FlipLink CLIをスクリプト化しませんか。--jsonの出力をjqにパイプすれば、IDやURLを抽出し、絞り込み、コマンドを連結して、きれいに終了する自動化を組み立てられます。
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出力と照らし合わせて確認してください。キーが違っていたら、入れ替えてください。
動かす前に絞り込む
jqのselect()を使えば、条件に合う項目だけを残せます。各項目が公開フラグを持っていて、公開済みのフリップブックの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-expiry、share-link、deleteなどに差し替えてください。
補足:ここで示したコマンドはすべて、本物の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 から始められます。
一度のお支払いで、ずっと使える
10・50・100 フリップブック · 35の全機能 · 無制限ドメイン
プランの差はありません。機能制限もありません。すべてのLTDコードで全機能がご利用いただけます。
- 全機能が使える — 制限なし
- 積み重ね可能 — いつでもコードを追加購入
- 交換可能 — 古いコードを新しいものに入れ替え
- 独自ドメイン無制限(CNAME)
- 月額・年額の定期料金なし
関連記事
FlipLink CLIでCI/CDのフリップブック公開を自動化する
FlipLink CLIを使えば、どんなCI/CDパイプラインでもフリップブックの公開を自動化できます。作成・公開・URL取得・終了コードによる早期失敗まで一気通貫で解説します。
フォルダ内のPDFをまとめてフリップブックに一括変換する
FlipLink CLIのシェルループ1つで、フォルダ内のPDFをまとめてフリップブックに一括変換。URLをCSVに保存し、壊れたファイルはスキップする方法を解説します。
FlipLink CLI・API・MCP:どの連携方法を使うべき?
FlipLinkのCLI・API・MCPを、手間・対象ユーザー・用途で比較。同じフリップブックを3通りの方法で作る例も紹介し、最適な連携方法を選べます。