2018年11月17日

Google Apps Scriptで、「getItemResponses」が動作しなくなった?

 GoogleフォームとGoogle Apps Scriptを使う場合、submitForm(e)で、


var itemResponses = e.response.getItemResponses();



 という感じで、回答のオブジェクトを取得します。

 本日新しく、フォーム連動のスクリプトを作成したところ、

「TypeError: undefined のメソッド「getItemResponses」を呼び出せません。(行 3、ファイル「コード」)」

 というエラーが頻発します。

 コード自体は、何度もいろんなスクリプトで使っているものなので間違いはありません。

 これまでも、同様のエラーが出ることはありました。
 スクリプトを変更するなど、新たに権限が増えた場合や、トリガーが消えてしまったりした場合です。

 権限の設定をやり直す、トリガーを一度消して設定し直すことで解消していました。
 今回に限っては、何度やってもエラーのままです。

 過去に作ったスクリプトは、全く同じ記述で問題なく動いています。


 トリガーの設定画面が新しくなっていることから、Google Apps Scriptで何かしら変更が行われたことは判るのですが・・・

 プロジェクト自体を削除して、新たに作り直すなどもしてみましたがダメです。

 そこで、「アカウントにアクセスできるアプリ」にてスクリプトの権限を確認してみると・・・
 動作しているものには、次のものが許可されています。
「Google ドライブのフォームの表示と管理」

Screenshot 2018-11-17 at 18.40.52.png

 エラーとなっているスクリプトでは、この権限が出てきません。

Screenshot 2018-11-17 at 18.31.54.png

 そこで、スクリプトがバインドされているフォームを取得する「FormApp.getActiveForm()」をスクリプトの先頭に追加しました。


// FormApp.getActiveForm()
function submitForm(e){
var itemResponses = e.response.getItemResponses();
(以降省略)



 この状態でトリガーを設定し直したところ、追加の権限として「Google ドライブのフォームの表示と管理」が出てきました。

Screenshot 2018-11-17 at 18.33.40.png

「getItemResponses」のエラーもなくなり、正常にスクリプトが動作するようになりました。


 すでに、正常動作しているものは、「FormApp.getActiveForm()」がなくても動作しています。


 朝からこれにハマって、ずいぶんと時間を使ってしまいました。
 Google Apps Scriptでエラーが出るときは、権限を確認してみることをおすすめします。
posted by Outliner 伊藤 崇 at 19:10| 効率化・仕組み

2018年05月05日

Googleフォームのコツ

 簡単にアンケート・お問い合わせフォームに利用できる「Googleフォーム」。
 Googleのアカウントがあれば、無料で利用することができます。

 Googleフォームのホーム: https://docs.google.com/forms/

 集計やスプレッドシートへの記録なども可能です。
続きを読む
posted by Outliner 伊藤 崇 at 13:35| ライフ

2018年04月18日

カスタマイズ可能な音声入力サービス「SpeechTexter」

Screenshot 2018-04-18 at 21.49.48.png

 音声入力は、スマートフォンやGoogleのサービスなどでかなり実用的になってきました。
 しかしながら、タイピングするのとは異なり、表記や「、(読点)」・「。(句点)」・「・(中黒)」・改行など弱い部分もまだまだ残っています。
続きを読む
posted by Outliner 伊藤 崇 at 21:54| Chromebook・ポメラ・電子ノート

2018年04月07日

挿すだけでかんたん接続、+F FS040U 3キャリアLTE対応(USBデータ通信端末:USBドングル)

Fotor_152309041725683.jpg
※ふたつ同時に挿してもひとつしか利用できません。

 Chromebookの通信環境として、これまではHuawei Mobile WiFi E5577s-324を使用していました。
 SMSが使えるモバイルWi-Fiルーターとして活躍してくれました。

 今回、富士ソフトの「+F FS040U」に変更しました。
 USBで直接接続する、「データ通信カード」・「USBデータ通信端末」・「USBドングル」などと呼ばれるタイプです。
続きを読む
posted by Outliner 伊藤 崇 at 18:27| Chromebook・ポメラ・電子ノート

2018年03月30日

Google Apps Scriptの基本

Screenshot 2018-03-20 at 00.43.36.png

 Chromebookを使うようになってから、Googleのサービスをより活用するようになりました。
 中でも、「Google Apps Script」は業務ツールの作成なども含めて最も活用していると言ってもいいと思います。
続きを読む
posted by Outliner 伊藤 崇 at 17:56| 効率化・仕組み