LoginSignup
1
0

More than 1 year has passed since last update.

【GAS】「appsscript.json」のエラー: サービス ID は空にできませんの対処法

Last updated at Posted at 2023-02-23

事象

・ライブラリを読み込もうとした際に「サービス ID は空にできません」のエラーが表示される
・サービスIDを入力したのち再度ライブラリの「追加」ボタンを押しても同様のエラーが表示される
image.png

原因と対処法

サービスIDを未入力の状態で追加したライブラリ情報が「appscript.json」上に残っていたことが原因でした。
エラー発生時のjsonファイルはこんな感じ。librariesの1つ目がサービスID未入力のもの、2つ目がきちんと入力して保存し直したものです

appscript.json
{
  "timeZone": "Asia/Tokyo",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "dependencies": {
    "libraries": [
      {
        "userSymbol": "",
        "version": "0",
        "libraryId": "*********************************************************",
        "developmentMode": true
      },
      {
        "userSymbol": "test",
        "version": "0",
        "libraryId": "*********************************************************",
        "developmentMode": true
      }
    ]
  }
}

エラーの原因になっている1つ目のライブラリ情報を削除することで正常にライブラリの追加・参照が行えるようになります。

appscript.json
{
  "timeZone": "Asia/Tokyo",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "dependencies": {
    "libraries": [
      {
        "userSymbol": "test",
        "version": "0",
        "libraryId": "*********************************************************",
        "developmentMode": true
      }
    ]
  }
}

備考:サービスIDが未入力になる原因

プロジェクト内でライブラリを追加する時、通常はライブラリとして公開しているプロジェクトの名前が自動でID欄に記入されるようになっています
image.png
こんな感じ
image.png

また、サービスIDを未入力の状態に戻すとUI上で警告が表示され、[追加]ボタンは非活性になる仕様になっています
image.png
ところがライブラリとして公開されている参照先のプロジェクトの名前を日本語(おそらく正確にはサービスIDとして有効ではない文字列)にしてしまうと、IDが未入力のまま追加ボタンが押せてしまい、サービスIDのないライブラリ情報の記録につながってしまうようです
image.png
image.png
加えてサービスIDが未入力の状態で追加したライブラリはエディタ横の「ライブラリ」欄には表示されないため、ライブラリを追加できたのかできてないのかぱっと見分かりづらい感じになるようです、困ったね
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0