Edge Delivery Services Formsを使用したForms送信サービス
この機能は、早期アクセスプログラムを通じて利用できます。 アクセスをリクエストするには、GitHub 組織名とリポジトリ名を記載したメールを公式アドレスから aem-forms-ea@adobe.comに送信してください。 例えば、リポジトリ URL がhttps://github.com/adobe/abcの場合、組織名は adobe で、リポジトリ名は abc. です
Forms送信サービスを使用すると、フォーム送信データを OneDrive、SharePoint、Google Sheets などの任意のスプレッドシートに保存でき、目的のスプレッドシートプラットフォーム内でフォームデータに簡単にアクセスして管理できます。
Forms Submission サービスを使用するメリット
スプレッドシートでForms送信サービスを使用する利点は次のとおりです。
- 直接統合:指定したスプレッドシートにデータを直接送信するようにフォームを設定できるので、手動でデータを転送する必要がなくなります。
- データ構造:送信を設定する際に、フォームフィールドを対応するスプレッドシートの列にマッピングして、整理されたデータストレージを使用できます。
- アクセス制御:既存の権限を活用して、選択したスプレッドシートサービスに応じて、送信されたフォームデータにアクセスして変更できるユーザーを制御できます。
前提条件
Forms Submission サービスを使用するための前提条件を以下に示します。
- AEM プロジェクトに最新のアダプティブフォームブロックが含まれていることを確認します。
- Forms送信サービスを使用するには、Git リポジトリが許可リストに追加されていることを確認してください。 Forms送信サービスを使用する 🔗許可リストに追加するには、mailto:aem-forms-ea@adobe.com} と、GitHub の組織名およびリポジトリ名を入力してください。
Forms送信サービスの設定
アダプティブ AEM ブロックが設定された新しいForms プロジェクトを作成します。 新しいAEM プロジェクトの作成方法については、 はじめに – 開発者向けチュートリアルを参照してください。 プロジェクトの fstab.yaml
ファイルを更新します。 既存の参照を、forms@adobe.com
と共有したフォルダーのパスに置き換えます。
Forms Submission サービスを手動で設定するまたは API を使用するForms Submission サービスを設定することができます。
手動によるForms送信サービスの設定
1. フォーム定義を使用してフォームを作成する
Google シートまたはMicrosoft Excel を使用してフォームを作成します。 Microsoft Excel またはGoogle Sheets のフォーム定義を使用してフォームを作成する方法については、 ここをクリックしてください。
次のスクリーンショットは、フォームの作成に使用されたフォーム定義を示しています。
2. スプレッドシートを有効にしてデータを受け入れます。
フォームを作成してプレビューしたら、対応するスプレッドシートを有効にしてデータの受信を開始します。 新しいシートを incoming
のように追加します。 スプレッドシートを手動で有効にしてデータを受け入れることができます。
incoming
シートが存在しない場合、AEMではこのブックにデータが送信されません。3. スプレッドシートを共有し、リンクを生成します。
スプレッドシートを forms@adobe.com
アカウントと共有してリンクを生成するには、次の手順を実行します。
-
Excel またはGoogle Sheets で、右上隅の 共有 ボタンをクリックします。
-
forms@adobe.com
アカウントと
目のアイコンをクリックし、編集 アクセスを選択して、送信 をクリックします。 -
スプレッドシートリンクをコピーするには、右上隅の 共有 ボタンをクリックし、「リンクをコピー」を選択します。
4. フォーム定義でスプレッドシートをリンクする
Forms Submission サービスをGoogle Sheets またはMicrosoft Excel で設定するには、次の手順を実行します。
-
フォーム定義を含むスプレッドシートを開きます。
-
送信 フィールドに対応する行の アクション 列にコピーしたスプレッドシートリンクを貼り付けます。
-
更新されたフォーム送信サービスで AEM Sidekick を使用して、シートをプレビューして公開します。
API を使用したForms Submission サービスの設定
また、フォームに POST リクエストを送信して、incoming
シートをデータで更新することもできます。
incoming
シートが存在しない場合、AEMではこのブックにデータが送信されません。incoming
シートをAdobe Experience Managerforms@adobe.com
と共有し、編集アクセス権を付与します。- サイドキックで
incoming
シートをプレビューして公開します。
シート設定のための POST リクエストのフォーマット方法については、API ドキュメントを参照してください。 以下に例を示します。
以下に示すように、curl やPostmanなどのツールを使用してこの POST リクエストを実行できます。
- Postmanを使用する場合:
例えば、を置き換えた後、Postmanで以下のリクエストを送信します。
-
フォーム ID を
{id}
用 -
GitHub リポジトリまたはサイト名を
site or repository
します -
GitHub ユーザー名を
organization
します。code language-json POST 'https://forms.adobe.com/adobe/forms/af/submit/{id}' \ --header 'Content-Type: application/json' \ --header 'x-adobe-routing: tier=live,bucket=main--[site/repository]--[organization]' \ --data '{ "data": { "startDate": "2025-01-10", "endDate": "2025-01-25", "destination": "Australia", "class": "First Class", "budget": "2000", "amount": "1000000", "name": "Mary", "age": "35", "subscribe": null, "email": "mary@gmail.com" } }'
Postmanで「送信」ボタンをクリックすると、201 Created
の応答が返され、送信されたデータで incoming
シートが更新されます。
- Curl コマンドの使用:
例えば、を置き換えた後で、ターミナルまたはコマンドプロンプトで次のコマンドを実行します。
- フォーム ID を
{id}
用 - GitHub リポジトリまたはサイト名を
site or repository
します - GitHub ユーザー名を
organization
します。
code language-none |
---|
|
}'s
code language-none |
---|
|
上記の POST リクエストでは、incoming
シートが下記の応答で更新されます。
< HTTP/1.1 201 Created
< Connection: keep-alive
< Content-Length: 0
< X-Request-Id: 02a53839-2340-56a5-b238-67c23ec28f9f
< X-Message-Id: 42ecb4dd-b63a-4674-8f1a-05a4a5b0372c
< Accept-Ranges: bytes
< Date: Fri, 10 Jan 2025 13:06:10 GMT
< Via: 1.1 varnish
< Access-Control-Allow-Origin: *
< X-Served-By: cache-del21750-DEL
< X-Cache: MISS
< X-Cache-Hits: 0
< X-Timer: S1736514370.704084,VS0,VE1234
次の画面は、API を使用してデータ送信によって更新された incoming
シートのスクリーンショットを示しています。