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 Apps Scriptのア…

  2. Office関連

    Google Docs APIを使ってGoogle ドキュメントを操作するVBAマクロ

    前回の記事で新しく追加されたGoogle Docs APIを紹介しまし…

  3. Google関連

    QwiklabsでGoogle Cloud Platformを体験しました。

    先日行われたGoogle Cloudのハンズオンセミナー「QWIKLA…

  4. Google関連

    [Google Apps Script]UrlFetchApp.fetchからのアクセス情報

    UrlFetchApp.fetchしたときに、アクセス対象のサーバーに…

  5. Google関連

    [Google Apps Script]選択文字列を翻訳する

    Google Apps Scriptでドキュメント上で選択している…

  6. Microsoft Graph

    [Google Apps Script]Office 365 unified APIを使ってメールを…

    久しぶりのGoogle Apps Scriptネタです。今回はGo…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP