> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Forms

> Google Formsの作成と管理 - フォーム作成、質問追加、一括更新、フォームデータ取得

## 概要

Google Formsツールを使用すると、プログラムでGoogle Formsの作成と管理、質問の追加、一括更新の実行、フォーム情報の取得ができます。これらのツールは、調査、フィードバック収集、データ収集のための包括的なフォーム管理機能を提供します。

## 主な機能

* `GOOGLE_FORMS_CREATE_FORM`: 新しいGoogle Formsを作成
* `GOOGLE_FORMS_ADD_QUESTIONS`: 既存のフォームに質問を追加
* `GOOGLE_FORMS_BATCH_UPDATE`: フォームの一括更新を実行
* `GOOGLE_FORMS_GET_FORM`: フォーム情報と構造を取得

## 認証

これらのツールには、Google Forms APIにアクセスできるGoogle OAuth認証情報が必要です。Google Cloud Consoleを通じてOAuth認証情報をセットアップし、Google Forms APIを有効にする必要があります。

**注意**：APIキーは機密情報として扱い、公開リポジトリにコミットしないでください。

## ツール

### GOOGLE\_FORMS\_CREATE\_FORM

新しいGoogle Formを作成します。

**入力**:

| パラメータ            | 型      | 必須  | 説明                         |
| ---------------- | ------ | --- | -------------------------- |
| `title`          | string | はい  | フォームのタイトル                  |
| `description`    | string | いいえ | フォームの説明                    |
| `document_title` | string | いいえ | ドキュメントタイトル（デフォルトはフォームタイトル） |

**出力**:

| フィールド          | 型      | 説明              |
| -------------- | ------ | --------------- |
| `form_id`      | string | 作成されたフォームの一意識別子 |
| `form_url`     | string | フォームへの直接URL     |
| `edit_url`     | string | フォームを編集するためのURL |
| `response_url` | string | 回答を表示するためのURL   |

### GOOGLE\_FORMS\_ADD\_QUESTIONS

既存のGoogle Formに質問を追加します。

**入力**:

| パラメータ       | 型      | 必須 | 説明                |
| ----------- | ------ | -- | ----------------- |
| `form_id`   | string | はい | 変更するフォームのID       |
| `questions` | array  | はい | 質問オブジェクトの配列（下記参照） |

`questions` 内の各オブジェクトには以下が含まれます:

| フィールド         | 型       | 必須  | 説明                                                                                                                                                                   |
| ------------- | ------- | --- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`       | string  | はい  | 質問タイトル                                                                                                                                                               |
| `type`        | string  | はい  | 質問タイプ: `multiple_choice`, `text`, `paragraph_text`, `checkboxes`, `dropdown`, `linear_scale`, `multiple_choice_grid`, `checkbox_grid`, `date`, `time`, `file_upload` |
| `required`    | boolean | いいえ | 質問が必須かどうか                                                                                                                                                            |
| `options`     | array   | いいえ | 選択式質問のオプション                                                                                                                                                          |
| `description` | string  | いいえ | 質問の説明                                                                                                                                                                |

**出力**:

| フィールド             | 型      | 説明            |
| ----------------- | ------ | ------------- |
| `updated_form_id` | string | フォームID        |
| `question_ids`    | array  | 追加された質問のIDの配列 |
| `form_url`        | string | 更新されたフォームのURL |

### GOOGLE\_FORMS\_BATCH\_UPDATE

Google Formの一括更新を実行します。

**入力**:

| パラメータ     | 型      | 必須 | 説明               |
| --------- | ------ | -- | ---------------- |
| `form_id` | string | はい | 更新するフォームのID      |
| `updates` | array  | はい | 更新リクエストの配列（下記参照） |

`updates` 内の各オブジェクトには以下が含まれます:

| フィールド         | 型      | 必須 | 説明                                                                   |
| ------------- | ------ | -- | -------------------------------------------------------------------- |
| `update_type` | string | はい | 更新タイプ: `update_form_info`, `update_item`, `move_item`, `delete_item` |
| `update_data` | object | はい | 更新固有のデータ                                                             |

**出力**:

| フィールド            | 型      | 説明            |
| ---------------- | ------ | ------------- |
| `form_id`        | string | 更新されたフォームID   |
| `update_results` | array  | 各更新操作の結果      |
| `form_url`       | string | 更新されたフォームのURL |

### GOOGLE\_FORMS\_GET\_FORM

Google Formの情報を取得します。

**入力**:

* `form_id` (文字列, 必須): 取得するフォームのID

**出力**:

完全なフォーム情報を含む `form_info` オブジェクトを返します:

| フィールド            | 型      | 説明                   |
| ---------------- | ------ | -------------------- |
| `form_id`        | string | フォーム識別子              |
| `title`          | string | フォームタイトル             |
| `description`    | string | フォーム説明               |
| `questions`      | array  | 設定を含む全質問の配列          |
| `settings`       | object | フォーム設定（メール収集、回答制限など） |
| `response_count` | number | 受信した回答数              |

## 使用例

### 例：新しいフォームを作成する

```yaml theme={null}
- id: create_feedback_form
  tool: GOOGLE_FORMS_CREATE_FORM
  config:
    - name: oauth_credentials
      value: "{{secrets.GOOGLE_OAUTH_CREDENTIALS}}"
  input:
    - name: title
      value: "お客様満足度調査"
    - name: description
      value: "フィードバックを共有してサービス向上にご協力ください"
    - name: document_title
      value: "お客様満足度調査 2024"
```

### 例：フォームに質問を追加する

```yaml theme={null}
- id: add_questions
  tool: GOOGLE_FORMS_ADD_QUESTIONS
  config:
    - name: oauth_credentials
      value: "{{secrets.GOOGLE_OAUTH_CREDENTIALS}}"
  input:
    - name: form_id
      value: "{{steps.create_feedback_form.result.form_id}}"
    - name: questions
      value:
        - title: "弊社のサービスをどのように評価しますか？"
          type: "linear_scale"
          required: true
          description: "1（悪い）から5（優秀）で評価してください"
        - title: "改善すべき点はありますか？"
          type: "paragraph_text"
          required: false
          description: "詳細なフィードバックをお聞かせください"
        - title: "他の方に弊社をおすすめしますか？"
          type: "multiple_choice"
          required: true
          options:
            - "絶対におすすめする"
            - "おすすめする"
            - "わからない"
            - "おすすめしない"
            - "絶対におすすめしない"
```

### 例：フォーム情報を取得する

```yaml theme={null}
- id: get_form_details
  tool: GOOGLE_FORMS_GET_FORM
  config:
    - name: oauth_credentials
      value: "{{secrets.GOOGLE_OAUTH_CREDENTIALS}}"
  input:
    - name: form_id
      value: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
```

### 例：フォームの一括更新

```yaml theme={null}
- id: batch_update_form
  tool: GOOGLE_FORMS_BATCH_UPDATE
  config:
    - name: oauth_credentials
      value: "{{secrets.GOOGLE_OAUTH_CREDENTIALS}}"
  input:
    - name: form_id
      value: "{{steps.create_feedback_form.result.form_id}}"
    - name: updates
      value:
        - update_type: "update_form_info"
          update_data:
            title: "更新されたお客様満足度調査"
            description: "満足度調査の説明を更新しました"
        - update_type: "update_item"
          update_data:
            item_id: "question_1"
            title: "更新された質問タイトル"
```

## 質問タイプ

### サポートされている質問タイプ:

* **multiple\_choice**: オプションからの単一選択
* **checkboxes**: オプションからの複数選択
* **dropdown**: ドロップダウンメニュー選択
* **text**: 短いテキスト入力
* **paragraph\_text**: 長いテキスト入力
* **linear\_scale**: 評価スケール（1-5、1-10など）
* **multiple\_choice\_grid**: 多項選択のグリッド質問
* **checkbox\_grid**: チェックボックスのグリッド質問
* **date**: 日付選択
* **time**: 時間選択
* **file\_upload**: ファイルアップロードフィールド

## 用途

* 顧客フィードバック収集
* 調査・アンケート作成
* イベント登録フォーム
* 従業員フィードバックとHR調査
* 教育評価とクイズ
* 市場調査とデータ収集
* 応募・お問い合わせフォーム
* テンプレートからの自動フォーム生成
