2016年3月18日金曜日

Google App Script で「getActiveForm を呼び出す権限がありません(You do not have permission to call getActiveForm)」エラーが出たら

Googleフォームで、フォーム送信者+特定のメールアドレスへ自動返信メールを送る処理が、なぜか失敗していた。

その操作を実行するには承認が必要です。

何かしら権限が足りずにエラーが発生しているようだが、これだけでは情報が足りない。



まずは、エラーが発生した際に、すぐにエラー内容を送信するように、トリガーを追加。


スクリプトエディタ > リソース > 現在のプロジェクトのトリガー




通知 > 起動失敗の通知







これでエラー時にメールが送られるようになったが、今度はエラー内容が、

getActiveForm を呼び出す権限がありません

へ変わっている。


あまり情報が無かったが、StackOverFlowで質問していた人がチラホラ見つかった。

Google App Script Error: You do not have permission to call getActiveForm? - Stack Overflow


コードへ有無を言わさず、getActiveForm() を実行する一文を挿入して、権限を尋ねるダイアログを出させるしかないようだ。

function submitForm(e){

//getActiveForm を呼び出す権限がありません」を解決するためだけの一文
//パーミッションを与えた後は不要
FormApp.getActiveForm();

....
}


FormApp変数は宣言不要。上記コードを含めるだけでいい。

デバッグを起動して、権限を尋ねるダイアログを表示させる。





自動返信メールがキター

2016年2月3日水曜日

Git - 特定ファイルのコミットを取り消してまるっと前の状態へ戻したいとき

前回コミットした中に含まれていた、ある特定のファイルについて、それだけまるっと前のバージョンへ戻したいなと思ったら。


1. そのファイルのコミット履歴を確認
git log -p [ファイルパス]


差分などが表示される詳細なログのうち、戻したいバージョンのコミット番号だけ確認してコピーしておく。


2. コミット番号を指定して、そのファイルを指定したコミット時点まで戻す
git checkout [コミット番号] [ファイルパス]

2016年1月21日木曜日

iMacのPCリサイクルマークシールはどこにある?

iMac本体にはPCリサイクルマークシールが付いていない。”購入時に同梱”されているらしい。いざ回収にお願いしようと思って、「どこにあるんだ〜」となったので備忘録。


結論。

「キーボードケースの中の取説の束の中に有りました!」



右側「Hello」の言葉が載っている冊子の束の中に発見。





回収の申し込みにはリサイクルマークのシールに付いているIDが必要で、それが無いと有料回収になります。再発行もできないので、こういうケースは捨ててはなりませぬな。