こんにちは、白々さじきです。
Google Apps Scriptでスクリプトを実行しようと思った時に、突然下記のようなエラーが発生しました。本記事では、そのエラーが起きた状況や原因、さらに解決策についてご報告します。

状況
Googleアカウントにはログイン済みで、同じ端末で別のアカウントでAppScriptを使っていました。
また、パスワードマネージャー等も普通に扱えており、新規で作成したスプレッドシートに下記のスクリプトを貼り付けて実行したところエラーが出ました。
function updateHolidayList() {
var url = "https://holidays-jp.github.io/api/v1/date.json";
var response = UrlFetchApp.fetch(url);
var holidays = JSON.parse(response.getContentText());
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("祝日リスト");
sheet.clear(); // 既存データをクリア
sheet.appendRow(["日付", "祝日名"]);
for (var date in holidays) {
sheet.appendRow([date, holidays[date]]);
}
}
次に原因を探ります。
原因
結論としては、使用しているGoogleアカウントでの権限承認が完了していなかったことが原因でした。
いつもと異なるPCを使っていたため、そのPCで必要な権限の承認手続きを行っていなかったようです。
解決方法
解決手順としては下記です。
1. 「安全ではないページに移動」をクリック
下図のように「無題のプロジェクト(安全ではないページ)に移動」をクリックします。このときプロジェクト名を決めていた場合は、そのプロジェクト名が入ります。

2.権限の付与
下図のように「すべて選択」をクリック後、「続行」を選択します。
すると作成していたAppScriptのページに移動します。

再度AppScriptの関数を実行すると下図のように実行できます。

まとめ
初回使用時には同様のプロセスが必要だったことを改めて思い出しました。。。
今後、新規のGoogleアカウントを作成する際にも、同じ承認手順が必要になるため、忘れずに対処したいと思います。
サポートのお願い
下記リンクからお買い物いただけると、ブログ運営のための費用が増え、有料サービスを利用した記事作成が可能になります。ご協力よろしくお願いします!

コメント