Re: [Apps API Japan] [FORM + GAS] スクリプトで作成したフォームの回答をスクリプトで取得したい

542 views
Skip to first unread message

Masayo N.

unread,
Aug 14, 2015, 4:23:25 AM8/14/15
to google-app...@googlegroups.com
Form のsubmitで取得できるものはauthMode,values,range,namedValuesのみなので
var items = e.response.getItemResponses();
は出来ないのでは?

2015年8月6日 17:29 Simon Adebisi <funky.76....@gmail.com>:
スクリプトでフォームを作成し、そのフォーム送信時に回答をスクリプトで取得したいと
考えているんですが、取得できません。

function myfuntion() {
 
// フォーム作成
 
var fm_test = FormApp.create("test form");
  fm_test
.setTitle("test form");

 
// SS取得
 
var url = "https://.....";
 
var ss = SpreadsheetApp.openByUrl(url);

 
// スプレッドシートと関連付け
  fm_test
.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

 
// 質問作成
 
var question = fm_test.addMultipleChoiceItem();
  question
.setTitle("不参加・遅刻・早退")
   
.setChoices([
      question
.createChoice("不参加")
     
])
     
.showOtherOption(true);

 
// Trigger登録
 
ScriptApp.newTrigger('onSubmitForm')
   
.forForm(fm_test)
   
.onFormSubmit()
   
.create();
}


function onSubmitForm(e) {
 
var items = e.response.getItemResponses();
 
Logger.log( "items.length : " + items.length );
}

としたとき、作成されたフォーム回答送信時に onSubmitForm() はコールされるのですが、
どう回答してもログの items.length の値が 0 になってしまいます。
関連付けたスプレッドシートでは回答が記録されています。

質問をテキスト形式やチェックボックスに変えてみたり、説文を増やしたりもしたのですが、
やはり同じ結果になってしまいます。

原因・対策をご教示いただけますでしょうか。

以上、よろしくお願いいたします。

--
このメールは Google グループのグループ「Google Apps API Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-apps-api-...@googlegroups.com にメールを送信してください。
このグループに投稿するには google-app...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Takashi Yokoyama

unread,
Aug 14, 2015, 4:38:34 AM8/14/15
to google-app...@googlegroups.com
横山@GDG中国です。

こんにちは。

Masayo N.さんがおっしゃっているように取得できません。
ですが、onFormSubmit()が呼び出された時点で最終行に
回答が追加されているので、最終行をチェックするか、

e.namedValues['お名前']

などで、値を直接読み出すしかないと思います。

私が以前イベントの申し込みFormを運用していた時のスクリプトを公開しているので
参考までにどうぞ。


よろしくお願いします。


--
Takashi Yokoyama
GDG Chugoku Manager

tksyo...@gmail.com
http://sites.google.com/site/gdgchugokuofficial/
G+: http://goo.gl/VV3eJ
twitter: @GDGChugoku
Reply all
Reply to author
Forward
0 new messages