見出し画像

「SpreadsheetApp.openById を呼び出す権限がありません。」のエラーを解消する

こんにちは!KCompany代表のケータです!

本日はちょっとした技術ネタです。とある案件にてopenByIdを使いGoogle SpreadsheetをGoogle Fromsのスクリプトで呼び出そうとしたところ、「SpreadsheetApp.openById を呼び出す権限がありません。」というエラーが発生した、というお話です。

解消方法

公式ドキュメントのトリガーを手動設定する方法で解決しました。

1. GASのプロジェクトを開く
2. 左メニューからトリガーアラーム(時計)のアイコンをクリックする
3. 右下の「トリガーを追加」ボタンを押す
4. 作成したいトリガーのタイプを選んで設定する
5. 保存をする

4.の部分は下記の画像のように適当もとい任意で設定してみました。

スクリーンショット 2021-02-05 6.16.00

こちらは手動で設定する方法になりますが、コードを記述するやり方もあります。(が、今回の目的にはとりあえずこちらの方が手っ取り早く問題の解消ができました)

原因

後述する公式ドキュメントや参考記事にありますが、openByIdで他のスプレッドシートを呼び出そうとするとSimple Triggersでは実現できないとのこと。よって、上記のInstallable Triggersを用いて実現する必要があったようです。

参考

解決にあたっては、以下のサイトにお世話になりました。ありがとうございました。

Simple Triggers (Google 公式ドキュメント)
Installable Triggers (Google 公式ドキュメント)
google script openById : You do not have permission to perform that action
[GAS] 実行する権限がありません。についての対策まとめ
【解決】SpreadsheetApp.openById を呼び出す権限がありません。というエラー

【お仕事のご依頼について】

こちらの記事に記載した内容以外にも、Google Apps Script開発やGoogle Workspaceを活用したデジタル化推進のお仕事を行っています。【GAS】そのまま使えるシリーズのカスタマイズのご相談ももちろん大丈夫です。
ちょっとしたお困りごとでも、こちらのサイトのお問い合わせフォームからご連絡いただければ、折り返しご連絡いたします。

よろしければサポートをお願いします!いただいたサポートは、サービス開発・改善のために使わせていただきます。主に書籍代や勉強会の参加費用などを想定しています。よろしくお願いします。