Community

コミュニティをご利用の際は 【ガイドライン】を確認・同意いただいた上でご利用ください。

  • 投稿

    アバターSatoshi Akutsu

    自身以外によるスクリプト実行について

    お世話になっております。

    下記、ご回答いただければ幸いです。

    【現状】
    ・GASにおいてfreeeアプリと連携させ、仕訳帳のDLなどのスクリプトを作成し、実行させている
    ・スクリプトの実行を、スプレッドシートのメニューバーから実行できるよう、メニューバーにボタンを追加
    ・作成した自身では問題なく稼働

    【問題点】
    ・他人がメニューバーから実行しようとすると「Access not granted or expired.」と表示されてしまう。

    【お聞きしたいこと】
    ・認証の問題だと思うのですが、他人によるスクリプト実行はできないのでしょうか?

    ご確認いただければ幸いです。よろしくお願い致します。

    回答

    アバターLT

    エラーメッセージを見る限り、以下のライブラリを使って認証されていますでしょうか?
    https://github.com/googleworkspace/apps-script-oauth2

    おそらく、アクセストークンの保存先の問題だと思います。

    >作成した自身では問題なく稼働
    というお話なので、作成されたユーザー単位でアクセストークンを保存する実装になっているのかと思われます。

    もしそうであれば、例えば、スクリプトのプロパティにアクセストークンを保存する、等
    アクセストークンをスクリプトで保持する実装にすることで、
    他のユーザーも実行できるようになると思います。

    アバターSatoshi Akutsu

    スクリプトプロパティに保存したら、無事他の人でも稼働しました!

    ありがとうございます!

    アバターSatoshi Akutsu

    追加のご質問をさせてください。

    アクセストークンの発行&スクリプトプロパティへの保存をしているのですが、この「発行&保存」の関数自体を、作成者以外が動かすことは可能なのでしょうか?

    アバターyakumo

    https://lab.taf-jp.com/googleappsscript%E3%80%80%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88/

    古い記事ですが上記が参考になりそうです。
    上記を実にオフィシャルドキュメントなどから調べていただくとよいかと思います。

    https://developers.google.com/apps-script/overview

    アバターSatoshi Akutsu

    記事のご共有、ありがとうございます!参考にさせていただきます。