コンテンツにスキップ

外部データ接続

文書の裏にあるデータは、たいていすでにどこかにあります。経理が保守している表計算、 営業が最新に保っている Notion のデータベース。それを2つ目の場所へ写すと真実が2つになり、 そして文書に載るのはいつも古い方です。

Compose PDF は写す代わりに元を読みます。方向は2つあり、どちらが合うかは その元に外から届くかどうかで決まります。

引く: アカウントを接続し、表を結びつける

Section titled “引く: アカウントを接続し、表を結びつける”

設定 → 接続で Google スプレッドシートか Notion を接続し、テンプレートの表を シートまたはデータベースに結びつけます。そこから先、その表は元に追従します。 スタジオでは読み取り専用になり、どこから来ているかを表示し、文書が描かれるたびに 読み直されます。設計中は今すぐ更新でその場で引けます。

**写しは残りません。**行は必要なときに取得され、そのあと保存されません。それが要点です —— 古くなるものが無く、顧客が去ったときに消すものもありません。

接続の認可はサインインとは別です。Google でサインインしても、あなたの表計算に対する 権限はこちらに何も渡りません。データ源の接続はそれ自体が独立した同意で、誰がいつ追加したかが 接続一覧に見え、そこで取り消せます。接続の追加と削除ができるのはオーナーと管理者だけです。

押す: シートを非公開のままにする

Section titled “押す: シートを非公開のままにする”

顧客名の入った表計算は、たいていリンクを知る全員に読ませたくないものです。しかし「引く」 方向には読み取り権限が要ります。そこで向きを逆にします。小さな Apps Script が あなた自身の Google アカウントの中で動き、あなた自身の認可で非公開のシートを読み、 その行を Compose PDF へ押し込みます。共有設定は変わらず、Google の資格情報もこちらへ渡りません。

スクリプトはスタジオが生成し、導入手順も出します。行の送り先は1つのエンドポイントだけで、 公開 API で唯一の書き込みです。

Terminal window
curl -X PUT https://composepdf.com/v1/datasets/{datasetId}/rows \
-H "x-api-key: $COMPOSEPDF_PUSH_KEY" \
-H "content-type: application/json" \
-d '{ "path": "items", "rows": [ … ] }'

このために**「データ投入」キー設定 → API キー**で作ります。データセットへの書き込み だけができ、ほかは何もできない API キーです。レンダリングはできないので、表計算の中に 置かれた資格情報から文書を引き出すことはできません。書き込みはすべて、それを行ったキーと ともに記録されます。

path は、その行が置き換えるリスト —— 表が参照している配列 —— を指します。 だから2つのシートが、同じ文書の2つの違うリストを、互いに上書きせずに供給できます。

繋いだままにする必要がないなら、CSV か表計算を1回だけ取り込みます。これは写しを作るので、 ほかのデータと同じようにスタジオで編集できます。

  • プランで制限されます。 Free は接続を保持できません。Solo は1つ。Team 以上は無制限です。 料金を参照してください。
  • 提供元。 Google スプレッドシートと Notion。
  • **結びつけた表に押し込むことはできません。**追従する元は1つです。書き込みは、黙って適用 されて次のレンダリングで上書きされるのではなく、拒否されます。
  • **レンダリング時に元へ届かなければ、レンダリングは失敗します。**古い行に退行するのではなく、 明確なエラーになります。
  • **シートの1行目は見出しです。**見出しの下に行が1つも無いシートは、空の文書ではなく エラーになります。