Microsoft Forms連携のサンプル
いつもお世話になっております。カスタマーサクセス部の橋本です。
APIを使ってどんなことができますか?連携できますか?といった
ご相談をいただく機会がございますので、サンプルでご紹介させていただきます。
今回は第2弾として、Microsoft Forms連携です。
(Google Forms連携のサンプルは、こちらをご覧ください)
本記事では、以下を目的としてご案内させていただきます。
・API利用した連携の全体像やイメージをご理解いただくこと。
・API利用した連携の難易度をご理解いただくこと。
・自動化/連携を行うための開発ツールが別途必要であること。
なお、連携先や開発ツールの仕様変更により正しく動作出来ない可能性があることもご理解いただき、合わせて、連携先や開発ツールの操作についてはサポート範囲外となりますので、お取引のあるSi業者様などへご相談をお願いいたします。
[サンプルの概要]
1. Microsoft Formsに回答を送信
2. Power Automateでフォームの回答を受け取り、AppSuiteのAPIへアクセス
3. AppSuiteのアプリケーションにデータが追加される
[事前準備]
1.Microsoftアカウントを用意する
Microsoftアカウントを用意してサインアップし、Microsoft FormsおよびPower Automateを使用できるようにします。
Power Appsの開発者向けプランにサインアップするまたは有料のライセンスを取得するか、Power Automateの有料のライセンスを取得してください。
2.AppSuiteのアクセスキーを用意する
AppSuiteのAPIを使用するため、アクセスキーが必要になります。
[個人設定>アクセスキー設定]から発行し、コピーしておいてください。
※使用するアプリケーションのデータ変更権を持つユーザーで発行してください。
[手順]
1. Microsoft Formsを用意する
2. アプリケーションを用意する
3. フローを用意する
4. 動作確認を行う
1:Microsoft Formsを用意する
AppSuiteと連携させるMicrosoft Formsを用意します。
すでに作成されたものでも構いません。
※本資料で使用するフローは、一部の質問形式に対応していません。
(詳しくは文末の「制限事項」をご覧ください。)
2:AppSuiteのアプリケーションを用意する
・Microsoft Formsから入力した回答を保存するアプリケーションを作成します。
・Microsoft Formsの各質問に対して、対応する部品を一つずつ作成します。
※すでに作成されたアプリケーションでも構いません。
また、部品タイプは、Microsoft Formsの質問形式と合わせてください。
Microsoft Formsの質問形式 | AppSuiteの部品タイプ |
---|---|
選択肢 | ラジオボタン |
選択肢(複数回答) | チェックボックス |
選択肢(ドロップダウンリスト) | プルダウン |
テキスト | 文字(一行) |
テキスト(長い回答) | 文字(複数行) |
評価 | ラジオボタン |
日付 | 日付 |
ランキング | ※未対応 |
リッカート | ※未対応 |
ファイルのアップロード | ※未対応 |
Net Promoter Score | ラジオボタン |
例)
「API設定」から、アプリケーション識別子を設定しコピーしておきます。
本サンプルでは、ms_formsとします。
3:フローを用意する
フローとは、Power Automateにおけるプロジェクトの単位です。
一つのMicrosoft Formsに対して、複数のフローを作成することもできますが、本件では割愛いたします。
3-1 フローを作成する
①以下のURLからPower Automateのサイトを開き、「マイフロー」からフローの一覧画面を開きます。
https://make.powerautomate.com/
②インポート > パッケージのインポート (レガシ) を選択し、インポートするパッケージファイルを選択します。
ここに必要なパッケージサンプルについては、下記のダウンロードボタンから入手をお願いいたします。
※アンケート回答後に、ダウンロードできます。
③アップロードボタンをクリックし、パッケージサンプルを選択してください。
ファイル名:MicrosoftForms連携フローテンプレート.zip
④下記の画面が表示されましたら、インポートをクリックしてください。
⑤インポート完了後に、下記のメッセージが表示されます。
「フローを開く」をクリックし、フローの設定画面を開きます。
3-2 Microsoft Formsと連携する
①フローの一番上の「フローを手動でトリガーする」を右クリックして「削除」をクリックし、削除します。
②「フローを手動でトリガーする」から「トリガーの追加」に変わりますので、「トリガーの追加」をクリックします。
③キーワードで検索で「Microsoft Forms」を入力すると、下記の画面が表示されますので、「新しい応答が送信されるとき」を選択します。
Power AutomateとMicrosoft Formsの連携をするのが初めての場合、サインインが必要になります。
※連携済みの場合は「サインイン」ボタンは表示されません。
④サインイン後、または連携済みの場合は以下の画面になります。
「フォームID」のプルダウンから、Microsoft Formsを選択します。
⑤「新しい応答が送信されるとき」の下にある「+」をクリックし、「アクションの追加」を選択します。
⑥「Microsoft Forms」の「応答の詳細を取得する」を選択します。
⑦「フォームID」は「新しい応答が送信されるとき」のときと同じ値を選択してください。
⑧「応答ID」は「応答ID」を選択します。
雷マークをクリックすることで、下のダイアログを開けます。
⑨最終的な入力状況は以下のようになります。
3-3 基本設定を行う
上から三つ目にあるアクション「基本設定を保存する」をクリックし、以下の値をJSON形式で設定します。
※「Value」のみ変更します。ほかの入力は変更しないでください。
※access_keyと、urlはお客様側の情報に変更してください。
※Power Automateでは「@」は特殊文字として扱われます。
アプリケーション識別子を使用する場合は、「@@」と二つ繋げてエスケープしてください。
[コードサンプル]
{
"access_key": "sample",
"app_id": "@@ms_forms",
"url": "https://xxxx.com/cgi-bin/dneo/appsr.cgi"
}
プロパティ | 値 |
---|---|
access_key | AppSuiteのAPIを実行するユーザーのアクセスキー |
app_id | 「@」を先頭に付けたアプリケーション識別子 |
url | モジュール「appsr.cgi」のURL
<例:クラウド版の場合> |
3-4 AppSuiteのアプリケーションに保存する回答を設定する
①「テキストを回答情報に追加」の下にある「+」ボタンをクリックし、「アクションの追加」を選択します。
②「ランタイム」で「組み込み」を選択し、Variableを選択します。
③Variable内にある[配列変数に追加]を選択します。
④「Name」には「MS_Forms_answers」を選択してください。
⑤「Value」は以下の値をJSON形式で指定します。
キー | 値 |
---|---|
is_checkbox | Microsoft Formsの質問形式が 「選択肢(複数回答)」であれば「true」、そうでなければ「false」 |
AppSuite_part | アプリケーションの、回答を保存する部品名。または部品識別子。 |
MS_Forms_answer | 「AppSuite_part」で指定した部品に保存したい、
Microsoft Formsの回答。 |
[コードサンプル(会社名)]
{
"is_checkbox": false,
"AppSuite_part": "会社名",
"MS_Forms_answer": ""
}
⑥雷マークをクリックし、どの質問の回答を使用するか選択します。
カーソルを合わせてから、ご選択ください。
ここでは、[会社名をご記入ください]を選択します。
入力状況は以下のようになります。
このあと、同じ処理を行いますので、名称は任意に変更してください。
※本サンプルでは、[配列変数に追加(会社名)]としています。
以上で設問1セットとなります。「配列変数に追加」を、保存したい部品の分だけ繰り返します。
【2つ目の設問:製品区分】
①「テキストを回答情報に追加」の下にある「+」ボタンをクリックし、「アクションの追加」を選択します。
(ここからは、同じ作業となりますので②~④の画面ショットは割愛します)
②「ランタイム」で「組み込み」を選択し、Variableを選択します。
③Variable内にある[配列変数に追加]を選択します。
④「Name」には「MS_Forms_answers」を選択してください。
⑤「Value」は以下の値をJSON形式で指定します。
[コードサンプル(製品区分)]
{
"is_checkbox": false,
"AppSuite_part": "製品区分",
"MS_Forms_answer": ""
}
⑥雷マークをクリックし、どの質問の回答を使用するか選択します。
カーソルを合わせてから、ご選択ください。
ここでは、[製品区分]を選択します。
入力状況は以下のようになります。
【3つ目の設問:ご意見】
①「テキストを回答情報に追加」の下にある「+」ボタンをクリックし、「アクションの追加」を選択します。
(ここからは、同じ作業となりますので②~④の画面ショットは割愛します)
②「ランタイム」で「組み込み」を選択し、Variableを選択します。
③Variable内にある[配列変数に追加]を選択します。
④「Name」には「MS_Forms_answers」を選択してください。
⑤「Value」は以下の値をJSON形式で指定します。
[コードサンプル(ご意見)]
{
"is_checkbox": false,
"AppSuite_part": "ご意見",
"MS_Forms_answer": ""
}
⑥雷マークをクリックし、[その他ご意見等]を使用するか選択します。
カーソルを合わせてから、ご選択ください。
ここでは、[その他ご意見等がございましたら、ご記入ください。]を選択します。
入力状況は以下のようになります。
最初から登録してあった「テキストを回答情報に追加」はサンプルです。
右クリックして「削除」をクリックし、削除します。
最終的な入力状況は以下のようになります。
※名称は[配列変数に追加(会社名)][配列変数に追加(製品区分)][配列変数に追加(ご意見)]としています。
設定しましたら、フローを保存してください。
画面上部の「戻る」をクリックし、マイフローの一覧に戻ります。
3-5 フローを有効にする
画面上部の「オンにする」からフローを有効にします。
以上で設定は終了です。
4:動作確認を行う
Microsoft Formsに回答を入力して送信し、アプリケーションにデータが追加されることを確認してください。
制限事項
・選択肢の「その他」に対応していません。
AppSuiteのチェックボックス、ラジオボタン、プルダウンには、Microsoft Formsの
「選択肢」形式の質問にあるような「その他」の選択肢がございません。
Microsoft Formsを用意する際に、「選択肢」形式では「その他」オプションを使用しないでください。
・対応していない質問形式がございます。
・AppSuiteには、Microsoft Formsにある「リッカート」がございません。
「リッカート」に対応したい場合、ラジオボタン部品を複数並べ、疑似的にリッカートを作成する必要があります。
・AppSuiteには、Microsoft Formsにある「ランキング」がございません。
・Microsoft Formsにある「ファイルのアップロード」形式の質問は未検証です。本資料で使用しているフローでは対応していません。
■本件に関するお問い合わせ
株式会社ネオジャパン カスタマーサクセス部
TEL:045-640-5921 Email:csuccess@desknets.com
WRITER
みなとデスクネッツ編集部
もっと使いやすいデスクネッツを働くみなで作っていきたい! desknet's NEOをお使いいただいている皆さまがもっとデスクネッツを使いこなし、業務効率化をしていただくため、 現場目線で活用術や新バージョン情報をお伝えしていくメディアとして記事を執筆しています。