Google関連

Google Forms APIが正式リリースされたのでさっそく試してみました。

アンケート等で使用する機会が多いGoogleフォームを、API経由で作成・編集できる「Google Forms API」が正式リリースされたので、さっそく試してみました。

事前準備

Google Cloud Platformのコンソールから「Google Forms API」を有効にしておきます。

APIの実行にはアクセストークンが必要となりますが、以前Power Automate for desktopでフローを作っていたので、そのまま使うことにしました。
(スコープ:https://www.googleapis.com/auth/drive)

フォームの作成

フォームの作成には(forms).createメソッドを使用します。
今回はFiddler ClassicのComposerでテストすることにしました。

HTTP request
POST https://forms.googleapis.com/v1/forms
Headers
Content-Type: application/json
Authorization: Bearer (アクセストークン)
Request Body
{
  "info": {
      "title": "アンケートフォーム",
      "documentTitle": "新規フォーム"
  }
}

Response Body

問題なく実行された場合はフォームのIDを示す「formId」が返ってきます。後述するbatchUpdateメソッドを実行する際にこのIDが必要となります。

{
  "formId": "********",
  "info": {
    "title": "アンケートフォーム",
    "documentTitle": "新規フォーム"
  },
  "revisionId": "00000002",
  "responderUri": "https://docs.google.com/forms/d/e/********"
}

質問の追加

質問の追加等、フォームの内容を変更する際は(forms).batchUpdateメソッドを使用します。

HTTP request
POST https://forms.googleapis.com/v1/forms/{formId}:batchUpdate
Headers
Content-Type: application/json
Authorization: Bearer (アクセストークン)
Request Body
{
  "requests": [
    {
      "createItem": {
        "item": {
          "title": "好きな動物を教えてください。",
          "questionItem": {
            "question": {
              "required": "True",
              "choiceQuestion": {
                "type": "RADIO",
                "options": [
                  {
                    "value": "イヌ"
                  },
                  {
                    "value": "ネコ"
                  },
                  {
                    "value": "パンダ"
                  },
                  {
                    "value": "タヌキ"
                  }
                ]
              }
            }
          }
        },
        "location": {
          "index": 0
        }
      }
    }
  ]
}

Response Body
{
  "replies": [
    {
      "createItem": {
        "itemId": "******",
        "questionId": [
          "******"
        ]
      }
    }
  ],
  "writeControl": {
    "requiredRevisionId": "00000005"
  }
}

その他、APIの詳細については公式リファレンスをご参照ください。

以上、Google Forms APIのテストをしてみましたが、簡単にフォームを作成できました。
正式にAPIがリリースされたことで他サービスからフォームの作成や編集が行いやすくなったので、今後はGoogleフォームを利用する機会ももっと増えるのではないでしょうか。

ちなみに、Google Apps Script(GAS)の場合はFormAppクラスが用意されているので、フォームの作成や編集を行う際はこちらを使うと良いでしょう。

function myFunction() {
  const form = FormApp.create("新規フォーム");
  form.setTitle("アンケートフォーム");
  form.addMultipleChoiceItem()
    .setTitle("好きな動物を教えてください。")
    .setChoiceValues(["イヌ", "ネコ", "パンダ", "タヌキ"]);
}

2022/3/22 追記:
FormAppクラス(Forms Service)では実現できない処理をForms APIを使って実現するサンプルを @tanaike 氏が作成されていました。
正式リリース前の情報ですが、非常に参考になります。

AppSheetとGoogle Apps Scriptとの連携機能を試した感想前のページ

[Office Scripts]コードとしてコピー機能の紹介次のページ

関連記事

  1. Google関連

    [Google Apps Script]Google ドライブにある画像をスライドに一括挿入する

    前回の記事では、Google ドライブにある1つの画像ファイルをスライ…

  2. Google関連

    Google Docs API v1を試してみました。

    下記TechCrunchの記事によると、Google ドキュメントの新…

  3. Google関連

    Gmail APIを使ってメール送信するC#コード

    「たまには.NET用のライブラリを使ってGoogle APIでも触って…

  4. Office アドイン

    [Office用アプリ]Google ドライブでアプリを公開する方法

    今回は先日登壇した第一回 Apps for Office 勉強会の中で…

  5. Google関連

    [Google Apps Script]自作関数を定義する

    Excel VBAでは、下記のようなコードを標準モジュールに書けばワー…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP