---
title: "フォームクライアントAPIの活用"
slug: "work-with-the-form-client-api"
abstract: "カスタマイズにはForm Client APIを使いましょう。"
---
# フォームクライアントAPIの活用

フォームクライアントAPIは、Sitecoreデザイナーページでカスタマイズされたコンポーネントを開発者が開発するのを支援するSPEAKアイテムです。フォームクライアントAPIはフォームからフォームフィールドを取得することができます。

フォームクライアントAPIはフォームデザイナーページのレイアウトや、フォームデザイナーページのダイアログボックス(例えば条件 **編集** ダイアログボックス)に追加できます。

## レイアウトにフォームクライアントAPIを追加してください

フォームクライアントAPIをフォームデザイナーページのレイアウトに追加するには:

1.  デザインレイアウトのウィンドウに行き、「 **AddRendering**」をクリックします。
2.  **選択されたレンダリング**ダイアログボックスで*FormClientAPI*を検索し(またはsitecore/client/Applications/FormsBuilder/Components/Layouts/Renderings/Compositesに移動し)、それをクリックして**追加**をクリックします。

## APIパラメータの追加

フォームクライアントAPIの設定を設定するには:

1.  ページのPageSettingsにアクセスし、右クリックして **追加**をクリックし、「 **新しいアイテム**」をクリックします。
    
2.  「 **新しいアイテムを追加** 」ダイアログボックスで「 *FormClientApi-Parameters*」を検索してクリックし、「 **追加**」をクリックします。
    
3.  パラメータを編集するには、*FormClientApi-Parameters*項目をダブルクリックしてください。
    
    ![Edit the FormClientApi parameters.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-manager/images/FORMS-ClientAPI.png)
    
4.  *Fields Accessor Option*項目内のフォームフィールドの取得方法を設定するには、以下の設定を設定してください:
    
    -   IncludedFieldTypeIds - どのフィールドタイプが取得されるかを定義します。フィールドタイプを含めていない場合、そのフィールドタイプのフィールドは返されません。例えば、単行テキスト型のフィールドを取得したくない場合は、ツリーリストから選択しないでください。
        
        ![IncludedFieldTypeIds](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-manager/images/FORMS-ClientAPI-include-fields.png)
        
    -   Format - 取得したフィールドオブジェクトの変換を定義します。フィールドオブジェクトのmodelプロパティを抽出し、定義された形式に従って新しいオブジェクトに変換します。
        
        例えば、フィールドオブジェクトの性質は次のようになります: idx, itemId, model, parentId, rendering settings。
        
        modelプロパティで利用可能なプロパティは、conditionSettings、cssClass、itemId、name、templateIdです。
        
        左側はmodelで利用可能な性質を指定します。右側では変換後の性質の名前を指定します。
        
        ![The format settings.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-manager/images/FORMS-ClientAPI-format.png)
        
        例えば、次のフォーマットに基づく返されたフィールドオブジェクトは以下の通りです:
        
        {
        
        fieldId: <the value of itemId of the field>
        
        fieldName: <the value of name of the field>
        
        }
        
        > !注すべてのプロパティを持つフィールドオブジェクトを取得したい場合は、形式を指定しないでください。
        

## PageCodeからフォームフィールドを取得する

あるフォームの利用可能なフォームフィールドを取得するには:

1.  ページのPageCode JavaScriptファイルにアクセスし、フォームクライアントのID APIにアクセスしてください。
    
    ![FORMS-ClientAPI-pagecode.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-manager/images/FORMS-ClientAPI-pagecode.png)
    
2.  フォームフィールドを取得するには以下のJavaScriptコードを使ってください:
    
    var fields = this.FormClientApi.getFields();