Google Apps Script(GAS)を実行したときに、
Service Spreadsheets failed
や
Error: Document ○○ is missing
と表示されて困っていませんか?
このエラーは、指定したスプレッドシートを見つけられない場合に発生します。
この記事では初心者向けに原因と解決方法を解説します。
この記事でわかること
・エラーの意味
・スプレッドシートが見つからない原因
・確認方法
・解決方法
結論
このエラーが表示された場合は次の3つを確認してください。
・スプレッドシートIDが正しいか
・対象ファイルが存在するか
・共有権限があるか
実際のエラー例
次のようなエラーが表示されます。
Error: Document 1234567890abcdef is missing

このエラーは、
指定したスプレッドシートが見つかりません
という意味です。
エラーの原因
今回のコードはこちらです。
function spreadsheetErrorSample() {
var ss = SpreadsheetApp.openById("1234567890abcdef");
var sheet = ss.getSheets()[0];
sheet.getRange("A1").setValue("テスト");
}
このコードでは、
SpreadsheetApp.openById()
を使ってスプレッドシートを開いています。
しかし、
1234567890abcdef
というIDのスプレッドシートは存在しません。
そのためエラーになります。
エラーメッセージの見方
実行ログには次のように表示されます。
Error: Document 1234567890abcdef is missing
コード.gs:3
意味は次の通りです。
| 表示内容 | 意味 |
|---|---|
| Error | エラーが発生 |
| Document | スプレッドシート |
| is missing | 見つからない |
| コード.gs:3 | 3行目で発生 |
まずは行番号を確認しましょう。
修正方法① スプレッドシートIDを確認する
最も多い原因です。
スプレッドシートURLの中にあるIDを確認しましょう。
例
https://docs.google.com/spreadsheets/d/ここがID/edit
コピー漏れや不要な文字が入っていないか確認してください。
修正方法② ファイルが削除されていないか確認する
対象ファイルが削除されている場合もあります。
Google Driveでファイルを検索して確認しましょう。
修正方法③ 共有権限を確認する
他人のスプレッドシートを利用している場合は共有権限が必要です。
閲覧権限や編集権限があるか確認しましょう。
よくあるトラブル
サンプルコードをコピペしたらエラーになった
原因:スプレッドシートIDを変更していない
解決方法:自分のスプレッドシートIDへ変更する
昨日まで動いていたのにエラーになる
原因:ファイル削除や移動
解決方法:対象ファイルを確認する
共有ファイルだけエラーになる
原因:共有権限不足
解決方法:共有設定を確認する
関連するGAS記事
まとめ
Service Spreadsheets failed はスプレッドシートが見つからない場合に発生します。
まずはスプレッドシートIDを確認しましょう。
解決しない場合はファイルの存在と共有権限を確認してください。


コメント