Google ドライブで発生する問題を解決する方法について説明します。
403 エラーまたは 404 エラー
Google ドライブを使用する際に、エラー 403(権限が拒否されました)またはエラー 404(見つかりません)が発生することがあります。一般的に、次の理由が考えられます。
- Google ワークシートを意図せず削除した。削除された Google ワークシートは復元できます。詳しくは、削除された Google ファイルまたはワークシートを復元するをご覧ください。
- 対象ドキュメントのオーナーではない(他の Google アカウントがオーナーとなっている共有ドキュメントである)。Google でドキュメントの共有権限を確認してください。
- 複数の Google アカウント(例: Acc1 と Acc2)を持っている。スプレッドシートのオーナーは Acc1 であるのに、このスプレッドシートにアクセスするために Acct2 で AppSheet にログインしている場合です。同じアカウントを使用するか、ドキュメントをアカウント間で共有してください。
- ある時点ではファイルへのアクセス権を持っていたが、そのアクセス権が削除された。
- AppSheet のようなサードパーティ ソフトウェアを有効にすることを管理ポリシーですべてのユーザーに対して禁止している企業の Google ドキュメント アカウントをご利用の場合に、この問題が発生する場合があります。この場合は、アカウントの管理者にお問い合わせください。
Google ドライブのファイルを共有するもご覧ください。
Google Apps Script の onEdit トリガー
Google フォーム、スプレッドシート、ドキュメントとの統合のために AppSheet のアドオンを使用している場合は、Google スプレッドシートのデータを使用するでこれらの統合特有の制限についての詳細をご確認ください。
特に、Google スプレッドシートで Google Apps Script の onEdit トリガーを使用する場合、またはこれらのトリガーを使用するサードパーティ製アドオンを使用する場合は、AppSheet がスプレッドシートのデータに変更を加える際にトリガーは発生しません。残念ながら AppSheet のようなサードパーティ製ソリューションすべてに Google によるこの制限がかけられています。ワークアラウンドとして最適な方法は、onEdit トリガーではなく時間指定のある AppScript トリガー(または onChange トリガー)を使用することです。
Google スプレッドシートのフィルタ
また、Google スプレッドシートでフィルタを使用しないでください。フィルタされた行が更新の際に参照できなくなる場合があります。代わりに、フィルタ表示を使用してください。これは、ユーザーが独自のフィルタを作成して使用できるようにする Google スプレッドシートの機能で、スプレッドシートの他のユーザーに影響を与えません。Google スプレッドシートのデータを使用するもご覧ください。
一般公開された Google スプレッドシート
スプレッドシートが一般公開されていないことを確認してください。Google Sheets API は、一般公開されたスプレッドシートに対しては更新を有効にしません。
Google ワークシートの名前が 31 文字より長い
Google ワークシートの名前の長さが 31 文字を超えないようにしてください。空白と特殊文字を含むすべての文字が、名前の長さにカウントされます。
エラー: Unable to read spreadsheet: hexadecimal value 0xNN is an invalid character
AppSheet が Google ワークシートを読み込む際に、次のようなエラーが表示される場合があります。
Unable to read the spreadsheet for '<ワークシートの名前>' due to spreadsheet reader error: '', hexadecimal value 0x0C, is an invalid character. Line 9999, position 999
16 進数の値、line の値、position の値は実際には異なります。以下の理由により、line と position の情報は参考になりません。
AppSheet は Google のワークシートを Excel ドキュメント(.xlsx
)としてエクスポートするよう Google に要求することで Google スプレッドシートを読み取ります。Google は Google ワークシートを Excel ドキュメント ファイル(.xlsx
)に変換し、この .xlsx
ファイルを AppSheet に返します。AppSheet は .xlsx
ファイルを読み取り、ワークシートのすべてのセルの値、数式、形式、その他の情報を Excel ドキュメント(.xlsx
)から抽出します。
Google が Google ワークシートを有効な Excel ドキュメント(.xlsx
)としてエクスポートできない場合は、無効な文字のエラーが発生します。エクスポートされた Excel ドキュメント(.xlsx
)には、Excel が読み取れない無効なデータが含まれます。エラー メッセージ内の line と position の値は参考になりません。これらが参照しているのは、エクスポートされた Excel ドキュメント(.xlsx
)内の場所だからです。これらの値からワークシートの問題を把握するのは容易ではありません。
次の方法で問題を特定できる場合があります。
- Google スプレッドシートでワークブックを開きます。
- Google スプレッドシートの [ファイル] メニューで [ダウンロード] を選択し、[Microsoft Excel(.xlsx)] を選択します。これにより、Google スプレッドシートを AppSheet にエクスポートするのと同じように、Google ワークブックを Excel にエクスポートできます。
- エクスポートが完了すると、ブラウザ画面の左下にエクスポートされた
.xlsx
ファイルの名前が表示されます。 .xlsx
ファイルの名前の右に表示される [^] をクリックし、[開く] をクリックします。エクスポートしたファイルが Excel で開きます。エクスポートしたファイルが読み込まれる際に、高い確率で Excel からエラーが報告されます。Excel のエラー メッセージから問題を特定できる場合があります。- Google スプレッドシートに戻り、問題をなくすためにワークブックを変更します。
- 問題がなくなるまでこのステップを繰り返します。
その際は、次の点をよくご確認ください。
- ワークシートのセルの値に無効な文字がないことを確認する。無効な文字が「 」として表示される場合があります。無効な文字を検索するには、Google スプレッドシートの検索機能を使用できます。Google スプレッドシートでワークシートを開きます。[編集] メニューで [検索と置換] を選択し、「 」をコピーして [検索] ボックスに貼り付け、無効な文字を検索します。
- Google ワークシートのセルにある IMPORTRANGE 関数により問題が起こるというご報告もいただいています。IMPORTRANGE 関数を実際のデータ値に置き換えれば、この問題を回避できます。
- 他にもこの問題の原因が見つかりましたらご連絡ください。皆様のお役に立つよう、こちらのリストに情報を追加させていただきます。