GoogleAppsScriptでアクセス権限を承認する方法
GASのエディタで以下の画面が出てきたときの対処法です。
こちらは無料アカウント(xxxxxx@gmail.com)を使っている場合と、有料のGoogleWorkspaceアカウントを使っている場合とで若干手順が異なります。
無料アカウントの場合
まず「権限を確認」をクリックします。
次に使用中のアカウントを選択してください。
次に左下の「詳細」をクリックしてください。(赤い警告のアイコンが出てくるのではじめての人はびっくりするかもしれませんが、全然慌てなくて大丈夫です。)
さらに左下に「無題のプロジェクト(安全ではないページ)に移動」と出てくるので、そちらをクリックします。(これまた「安全ではないページ」とか言われてびっくりするかもしれませんが、安心して進んでもらって大丈夫です。)
最後に右下の「許可」をクリックしてください。
これで完了です。
有料アカウントの場合
有料アカウントの場合は、無料アカウントよりも数ステップ省略できます。
まず「権限を確認」をクリックします。(ここは無料アカウントと同じ。)
次に使用中のアカウントを選択してください。(ここも無料アカウントと同じ。)
最後に右下の「許可」をクリックしてください。
これで完了です。(有料アカウントの場合は、途中の警告のページが省略されます。)
この画面ってどういうときに出てくるの?
そもそもこの「アクセス権限を承認」する画面って、どういうときに出てくるのかというと、スクリプトに新しいクラスを記述したときに出てきます。
たとえば、次のようなコード。
function myFunction() {
SpreadsheetApp.getActiveSpreadsheet();
}
こちらでは、SpreadsheetApp
というクラスが使われています。
このクラスを使うと、GASでスプレッドシートの操作ができるようになるので、
「GASでスプレッドシートを操作しようとしてるけど本当にいいですね?これの結果スプレッドシートの大事なデータとか上書きされるリスクとかあるけど了承願いますね?」
みたいな確認をしてくれてるんですね。
ちなみに許可の画面では、「Googleスプレッドシートのすべてのスプレッドシートの参照、編集、作成、削除」というような記述がされていますね。
SpreadsheetApp
以外にもクラスはたくさんあって、たとえば、
Googleドキュメントを扱うDocumentApp
とか、
Googleフォームを扱うFormApp
とか、
Googleカレンダーを扱うCalendarApp
とかですね。
それぞれスクリプトに記述を加えて再度実行してみましょう。
function myFunction() {
SpreadsheetApp.getActiveSpreadsheet();
DocumentApp.getActiveDocument();
FormApp.getActiveForm();
CalendarApp.getCalendarById();
}
すると、再度アクセス権限の承認画面に移ると思います。
新しいクラスを使うたびにアクセス権限を承認しないといけないんですね。
許可の画面では、それぞれ、
DocumentApp
・・・Googleドキュメントのすべてのドキュメントの参照、編集、作成、削除FormApp
・・・Googleドライブのフォームの表示と管理CalendarApp
・・・Googleカレンダーを使用してアクセスできるすべてのカレンダーの表示、編集、共有、完全な削除
というように記述が追加されます。
このような形で、新たなクラスを追加するたびに権限を承認する必要があります。
まとめ
GAS初心者の人は警告ページが出てくるとびっくりするかもしれませんが、繰り返しますが全然慌てなくて大丈夫ですので、安心してコーディングを進めていきましょう!
コメント