うまく機能するGoogleAppsScriptがあります。シートを共有しようとしている他の人は、次のメッセージを受け取ります。
そのアクションを実行するためのアクセス権がありません。このアイテムの所有者にアクセスを許可するように依頼してください。
スクリプトは、既存のシートを新しいデータ行で更新するために使用されます。 UIに追加されたメニュー項目を使用してトリガーされ、次のことを行います。
コードは問題なく機能するので問題はないので、アクセス許可に問題があるはずですが、その方法がわかりません。シートは彼らと共有され、ファイルが保存されているGDriveフォルダは彼らと共有されます。自分で最初にスクリプトを実行したとき、GDriveフォルダーにアクセスするためのスクリプトのアクセス許可を付与する必要がありました。これは明らかに現在行われています。
私は私たちのグループの開発者であり、データのユーザーではありませんが、ユーザーが自分で行うのではなく、必要なときに毎回スクリプトを実行してデータを更新する必要があります。迷惑です。
問題がここでどこにあるのかを理解しようとする助けは大歓迎です。
EDIT:これをもう一度読んでみると、ファイルが変換されるときに、最初はGDriveルートに保存されていることがわかりました。そのため、フォルダを変更する必要があります。ルートであるため、このファイルのユーザーとは共有されません。これが理由でしょうか?もしそうなら、どうすればこれを回避できますか?変換時に、結果のファイルを保存するフォルダーを指定できますか?
これを修正するには、スクリプトをWebアプリとしてデプロイする必要があります(アイデアは@MarioRの回答から得られますが、設定は異なります)。
Publish
をクリックしてから、Deploy as web app
をクリックします。Execute the app as
の場合はUser accessing the web app
を選択し、Who has access to the app
の場合はAnyone
を選択しますユーザーが初めてスクリプトを使用するときは、スクリプトを許可する必要があります(This app isn't verified
を取得した場合は、下部にあるAdvanced
をクリックしてから、Go to <script name> (unsafe)
をクリックする必要があります) )。この後、スクリプトを実行できるようにシートを更新する必要がある場合があります。
所有者がシートを新しいユーザーと共有する場合、スクリプトがWebアプリとして展開された後、新しいユーザーはスクリプトの承認を許可されるまで15分(またはそれ以上)待つ必要があります(その間、このユーザーは引き続き取得します赤い警告)。
所有者のみがWebアプリとしてデプロイでき、それを実行しようとする他のユーザーはメッセージエラーを受け取りません。ポップアップFetching Data
が永久にスタックしたままになります!)所有者を変更するには:シートを開きます。所有者アカウントで、Share
> Advanced
をクリックします>「所有者になる」の横にあるドロップダウンをトリガーする矢印をクリックします> Set as owner
私の経験では、スプレッドシートを開くたびにユーザーのGSuiteライセンス情報を取得するスプレッドシートを作成しました。私が行ったのは、スーパー管理者でスクリプトを作成したことですが、スプレッドシートが共有されている場合、[AppsScript]メニューから[Publish]> [Deploy as Webb App]に移動するまで、他のユーザーは同じ問題を抱えていました。この画像のようなオプションを残します
それは私のために働いた、私はそれがあなたのために働くことを願っています。この更新後、スプレッドシートの編集権限を持つすべてのユーザーは、スプレッドシートが開くたびに、スーパー管理者に代わって情報を取得できるようになりました。スクリプトまたはスプレッドシートを使用するthe user
としてではなく、you
としてアプリを実行するようにしてください。
通常、他のユーザーは管理者権限を必要とするスクリプトを実行できませんが、これで問題は解決します。これがうまくいったかどうか教えてください!
ご挨拶。
スクリプトをWebアプリとして試した後、「doGet」を取得しました。 「doGet」とはどういう意味ですか?
@MagTunと@browlyのソリューションを確認してファイルを共有し、15分間待ちます。プログラムでファイルの編集権限を付与した場合でも、先週この問題に直面しました。一部のユーザーは許可を与える画面を取得しますが(正しい)、一部のユーザーは「許可が必要です」というメッセージまたは「申し訳ありませんが、現時点ではファイルを開くことができません」(間違っています)のいずれかを受け取るため、注意が必要です。しかし、しばらくすると、ユーザーはファイルへのアクセスを明示的に要求するかどうかに関係なく、スクリプトを実行できるようになりました。したがって、他に必要なものは何もありませんが、約15分待つと、一貫して許可を求められます。ヒントをありがとう、それは私の問題の解決策を確認しました。