明示的に変更しなくてもある程度は自動判定してくれますが、手動でさらに絞りたいときにはマニフェストファイル(appsscript.json)で変更できるようです。
https://www.googleapis.com/auth/spreadsheets.readonly
は
もう一度プロジェクトのOAuthスコープを見てみる
公式ドキュメントに記載されている以下について、2022/02/06現在のエディタUIで試してみました。
Authorization Scopes
GoogleAPIのOAuth2.0スコープ
スプレッドシートのファイル名を「Hello」に変更するコード.gsを例に書いていきます。
コード.gs
function myFunction() { var ss = SpreadsheetApp.openById("ファイルID"); ss.rename("Hello"); } |
ファイルIDを指定して実行すると、指定したファイル名が「Hello」になります。
現在のOAuthスコープを見てみる
概要を開きます。
プロジェクトのOAuthスコープが表示されます。
https://www.googleapis.com/auth/spreadsheets
は
Googleドライブでスプレッドシートを表示、編集、作成、削除できるため、ファイル名を「Hello」に変更できました。
マニフェストファイル(appsscript.json)を表示してみる
「プロジェクトの設定」を開きます。
マニフェストファイルをエディタで表示するをチェックします。
エディタにappsscript.jsonが表示されて、中身を確認できるようになります。
appsscript.jsonでOAuthスコープを設定してみる
以下のようにoauthScopesを追加して、スプレッドシートを表示するだけの権限に変更してみます。
appsscript.json{ "timeZone": "America/New_York", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly" ] } |
https://www.googleapis.com/auth/spreadsheets.readonly
は
Googleスプレッドシートを表示するだけで、それ以外の編集・作成・削除はできなくなります。
もう一度プロジェクトのOAuthスコープを見てみる
https://www.googleapis.com/auth/spreadsheets
だったのが
https://www.googleapis.com/auth/spreadsheets.readonly
に変更されて、表示するだけしかできなくなりました。
この状態でコードを実行すると、編集権限がないため、以下のようなエラーが出ます。
Required permissions: https://www.googleapis.com/auth/spreadsheets
と出ているので、OAuthスコープにそれを追加してやるとエラーが解消されます。
参考
Scopes
Scopes