名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。

GASからGoogle アンケートフォームを作ってみるのをやってた

表題の通り。

参考にしたページ

tonari-it.com

一旦このページのものをコピペして動かす。

リポジトリ

ほぼなにもない

github.com

気づき

  • どうやら Google Driveでの操作は、ファイルの add, remove はできるものの、move をサポートしているものがなさそう
  • もう少し凝ったものを作っていきたいので、公式Documentから必要そうなのを引っ張ろうと思う
  • 別の事象として doPost なメソッド生やそうとしてハマった
    • 302 でリダイレクトされるが、 curl -L でリダイレクトしてもうまく行かない
    • GETはOKでも、POSTはNGだった
    • -X POST でのメソッド指定は、リダイレクト先でも有効になってしまい、上書きされてしまうためハマるらしい
    • https://qiita.com/cajonito/items/9e66ef60831d51105bc0
    • なので -X POST はずして -L は残す形にしたらいけた
    • curl オプションの作りと、GASはリダイレクトによって1pass的なURL実現をしてるのがなんとなくわかった
  • GASをAPIとして公開する場合、 ContentService.createTextOutput() をレスポンスとして返す必要がある
  • 公開範囲の罠にハマりがち
  • 途中、アプリケーションの公開周りで回り道をしていた
  • TypeScript自体にあんまり慣れてない。そろそろ interface をうまく使ってデータ構造を記載するとかしたほうがいいかも
    • 今まで適当に作ってたので大丈夫だったが、リクエストレスポンスの概念が出てきたので、このあたりの記載を真面目にやったほうが良いなという判断になった
  • PropertyやっぱりWeb側からしか入れられないみたい
    • claspのオプション周り漁ったけどなかった。多分これはまじでサポートがない。
    • 逆に言えばこのあたりの環境変数を隠蔽しとけるので、claspでpushする際に環境変数から補完するようなのを刺しとくとかで対応できるかも
      • GAS上で環境変数をセットする機能はあったはずで、これを何らかの push 時に上書きすればいいかなと

まとめ

実はここからQRコードを作りたいという野望があり、まだまだ先は長いです。がんばろ。。。。