2 返信 最新の回答 日時: Dec 8, 2018 4:14 AM ユーザー:Anonymous

    GASでのスプレットシートやフォームでのトリガー・権限の追加について

    Anonymous

      初めて、フォーラムを利用させていただきます。

       

      諸兄姉にお尋ねさせていただきます。

      実現したいのは、

      1.googleフォーム(フォームA)でメールアドレスを収集し、

      2.そのメールアドレスに専用のフォーム(元ファイルをコピーしたもの)(フォームB)のURLを収集したメールアドレスに送付する

      3.そのフォームに入力した内容を元に、コンボボックスのアイテム、質問文を変更したフォーム(フォームC)のURLを送付する

      4.フォームCの入力内容を元に、専用のスプレットシート(スプレットシートD)を編集し、PDFをメールに送付する

      というものです。

       

      まず1のメールアドレスは問題なく収集できました。

      この際にフォームA、フォームB、フォームC、スプレットシートDをそれぞれ元データからコピーし、作成し、

      コピー後のidをフォームAにリンクされているスプレットシートに保存しました。

       

      2の収集したメールアドレスに専用のフォームのURLも問題なく送付できました。

       

      問題は、3からで、コピーしたフォームにはトリガー設定されていないため、入力した内容を元にしたフォームCの編集ができませんし、

      メールでURLを送付することもできませんでした。また、トリガー以外にもgoogedriveへのアクセスやスプレットシートの編集、メールを送る権限などもコピーされないため、GASで権限を付与したりトリガーの設定をするための方法を探したのですが、見つけることができませんでした。

       

      4についても同じ問題があると思いますので、やはりGASで権限を付与したりトリガーの設定をする必要がありますので、この問題をクリアしないと先に進めません。GASで権限を付与したりトリガーの設定ができるのでしょうか?

      あるいは、フォルダ単位で権限の付与や、function on Form Submitなどの名前をつけたらトリガー設定できたりするのでしょうか?

       

      なお、そもそもこういう仕様にすることが無駄が多いのかなと思うのですが、

      googleフォームに不特定多数の方にアクセスして貰う予定で、個人情報が漏れる可能性を最小限にするために、今の仕様を考えています。

      (最終的に、スプレットシートDは、アクセス者に提供する可能性があるため、アクセス者ごとに作成する必要はあるのですが。)

      他にもっと安全で、簡単な方法があれば、ご教示いただければ幸いです。

        • Re: GASでのスプレットシートやフォームでのトリガー・権限の追加について
          Anonymous

          Googleフォームに送信されたデータはGoogleスプレットシートに保存することができますよね。

          そのGoogleスプレットシートにアクセスできるのは、別途権限を持っている人のみなので(通常はフォームを作成したアカウントのみ)、その権限をもっているアカウントについて2段階認証を有効にするなど不正アクセスされないようにすれば安全であるように思います。結局はそのアカウントを乗っ取られると上記をしても意味がないためです。

           

          なお1のフォームは一般公開、2のフォームは専用なのですから、2のほうで2,3,4をまとめたらいいんじゃないと思います。

          私自身は GoogleフォームにおけるGASのプログラミングに詳しいわけではないのですが、

           

          https://tonari-it.com/gas-form-add-items/

           

          あたりをみるといろいろできそうではあります。

          ただここは開発者があまりいないように見えるので、G Suiteサポートや、StackOverflow、Google Developer Group Japan などのサポートや開発者コミュニティで聞いてみるのがよいかなと思います。

          1 of 1 people found this helpful