

いつもお世話になっております。  
さて、フォームスクリプトを作成していました。  
以前は以下のスクリプトでも問題なくメールにフォームの内容が送信されていたのですが、エラーが生じてしまいました。

エラーの内容は以下の通りです。

[code]

    undefined のメソッド「getItemResponses」を呼び出せません。
    
[/code]

ソースコードは以下になります。

[code]

    function submitForm(e){
      var itemResponses = e.response.getItemResponses();
      var message = '';
      for (var i = 0; i < itemResponses.length; i++) {
        var itemResponse = itemResponses[i];
        var question = itemResponse.getItem().getTitle();
        var answer = itemResponse.getResponse();
        message += (i + 1).toString() +'.' + question +':' + answer +'\n';
      }
      var address ='hoge@hoge.net';
      var title ='[依頼を受け付けました]';
      var content ='下記の内容で、依頼を受信しました。\n\n'+ message;
      GmailApp.sendEmail(address, title, content);
    }
    
[/code]

トリガーは問題なく設定できていました。ソースコードのどこがおかしいのでしょうか。  
トリガーのエラー率が100%になっています。


CC BY-SA 4.0
2018-11-27T06:04:49.093
50666
2023-07-20T05:01:40.207
2020-08-19T11:40:59.920
3060
31174
question
google-apps-script
Google Apps Script を実行するとエラー: undefined のメソッド「getItemResponses」を呼び出せません


表示されたエラーメッセージで検索すると同じような症状について書かれた記事がいくつか見つかります。  
対処方法としては「いったんトリガーを削除して再設定してください」とあります。  
なお、再設定の際に「権限の追加」に関するダイアログが表示されるそうなので、こちらを承認し直してみてください。

参考：  
[Google Apps Scriptで メソッド「getItemResponses」を呼び出せません。 が出る時 -
Qiita](https://qiita.com/yando/items/7e7bbb0be2ef9e08427e)  
[Googleフォームの自動送信スクリプトに、急に承認が必要になった話](https://www.cherrypieweb.com/weblog/technical/20161124002735.php)


CC BY-SA 4.0
2018-11-27T06:14:08.910
50667
2018-11-27T06:14:08.910
3060
50666
answer


Scopeの問題のようです。以下をコメントでつけて、再度トリガーを付け直せば直ります。

[code]

    // FormApp.getActiveForm()
    
[/code]

詳細は、以下回答を参照してください。  
[Googleフォームのスクリプトの新しいトリガー設定画面でトリガー設定すると、イベントがうまく渡らなくなりました。今までのスクリプトは使えなくなったのでしょうか？](https://ja.stackoverflow.com/questions/50010/)  
（handy matsuさんが参照出してくださっていますが、URLが長すぎて開かないため、再掲します）


CC BY-SA 4.0
2018-12-05T07:39:59.173
50923
2018-12-05T07:39:59.173
30864
50666
answer


回答ではないのですが、私（初心者ですが）も同じ現象でとまっていて（スクリプトもほとんど同じなので同じことをやろうとしていると思います）、  
「// FormApp.getActiveForm()」の追記も  
「トリガーの削除、再作成、権限承認」もやりましたし  
Formからスクリプト作成、スプレッドシートからスクリプト作成、の、両方試しましたが  
エラーが出て実行できませんでした・・・。  
この質問者さん、もし、解決済なら、方法を教えていただきたく、投稿させて頂きました。


CC BY-SA 4.0
2018-12-13T06:12:21.127
51165
2018-12-13T06:12:21.127
31428
50666
answer