GASのウェブアプリで他アカウントからだとdoPostが実行できない。
Q&A
Closed
解決したいこと
GASのWebアプリで社内ツールを作成しています。
現在、編集権限がないと正常に動作しません。
スクリプトの編集権限を渡すことなく、公開したいです。
アプリの仕様
テキストボックスに番号を打ち込むと、スプレッドシートから番号を探して情報を表示するアプリです。
(社員番号を入力するとスプレッドシートから一致する社員番号を探して氏名を表示するイメージ)
起きていること
他のアカウントから実行しようとすると、最初のページは表示できますが、次のページに遷移しようとすると、GASプロジェクトのアクセス権限がないため実行できず、アクセス権をリクエストするよう要求されてしまいます。
おそらくdoPostが実行できていません。
ここでアクセス権を編集者にすると実行できます。
デプロイ設定の「次のユーザーとして実行」を「ウェブアプリケーションにアクセスしているユーザー」にしていますが、「自分」にしても結果は変わりませんでした。
doPostが実行できていないことを確認した。
別のスクリプトを作成し、画面遷移のみのコードを書いて検証しました。
オーナーアカウントでは正常に動作しましたが、他アカウントでは画面遷移ができませんでした。
<0712 7:00追記>
・画面遷移のみのスクリプト(閲覧権限)
https://script.google.com/d/1pTW8iXulzU6E1n0iiOmPzkImjyjpB7ZThKM4FUtGlw1QmUn61HnFxOXW/edit?usp=sharing
・デプロイしたURL(次のユーザーとして実行:自分)
https://script.google.com/macros/s/AKfycbwIFDiAaXuo-jU-7eqH8KtJ8K7tQ_du16DBR8f5k8R4lMKwrLBh-oLRLYwZMJATNz_G5g/exec
それぞれの設定
GASの公開設定
・次のユーザーとして実行 ウェブアプリケーションにアクセスしているユーザー
・アクセスできるユーザー Googleアカウントを持つ全員
スプレッドシートの公開設定
・リンクを知っている全員
この質問の経緯
下記質問のブラッシュアップ版です。
https://qiita.com/tentacos0210/questions/1e5c2219ec6ad7d52414