GASのOAuthスコープの設定でエラーと戦っています。
解決したいこと
スプレッドシートのコンテナバインドスクリプトで独自関数を作成しています。
関数の処理の内容は、コンテナしているスプレッドシートとは別のスプレッドシートのA1セルに入力されている値を取得して、returnするという単純なものです。
最終的にコンテナしているスプレッドシートの任意のセルに作成した独自関数を入力して取得した値を表示させたいです。
関数内でDriveApp.getFolderByIdメソッドを使うので、マニュフェストファイルに以下のように記述しました。
"oauthScopes":[
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/drive"
]
その上で、任意のセル上で関数を入力したのですが、セルに#ERROR!と表示され、下記のエラーメッセージが表示されます。
どなたかお詳しい方、エラーの解決方法をお教えいただけますと幸いです。
発生している問題・エラー
Exception: You do not have permission to call DriveApp.getFolderById. Required permissions: (https://www.googleapis.com/auth/drive.readonly || https://www.googleapis.com/auth/drive)が発生しました。
該当するソースコード
/*
testという名前の別のスプレッドシートのA1セルの値をコンテナしているスプレッドシートの任意のセルに表示させたい。
*/
function func() {
let files = DriveApp.getFolderById('任意のフォルダID').getFiles();
let id;
while(files.hasNext()){
let file = files.next();
if(file.getName()==='test'){
id = file.getId()
}
}
let value = SpreadsheetApp.openById(id).getSheetByName('シート1').getRange(1,1).getValue();
return value
}
自分で試したこと
ネットで見た他の方の記事に、OAuthスコープを設定した後該当の関数をスクリプトエディタ上で実行し、開いたダイアログの指示に従って認証すれば動くと書いてあったのですが、試してみてもエラーは消えませんでした。