【ITニュース解説】My Experience Fixing clasp Login Errors on Google Workspace
2025年09月08日に「Dev.to」が公開したITニュース「My Experience Fixing clasp Login Errors on Google Workspace」について初心者にもわかりやすく解説しています。
ITニュース概要
Google Workspace環境でGAS用ツール「clasp」のログインが失敗するのは、組織のセキュリティ設定が原因。管理コンソールでのAPIアクセス許可や、Google CloudでのOAuth認証情報作成といった、個人アカウントには不要な手順が必要になる。(116文字)
ITニュース解説
Google Workspace環境でGoogle Apps Scriptをコマンドラインから操作するためのツール「clasp」を使用しようとした際、ログイン認証で問題が発生するケースについて解説する。この問題は、特にシステムエンジニアを目指す初心者にとって混乱しやすい点であり、個人用のGoogleアカウントではスムーズに動作するclaspが、企業のGoogle Workspaceアカウントでは特定のセキュリティ要件によって認証に失敗する現象である。
通常、個人用のGoogleアカウント(@gmail.comなど)でclasp loginコマンドを実行すると、ウェブブラウザが自動的に開き、Googleの認証画面が表示される。ここで承認を行うと、認証情報がキャッシュされ、次回からはすぐにログインが完了する。しかし、Google Workspaceアカウントでは、同じclasp loginコマンドを実行しても、「このサービスにアクセスできません」というエラーメッセージが表示され、認証が完了しない。これは、個人アカウントとGoogle Workspaceアカウントで、根本的に認証の仕組みが異なっているためである。
個人アカウントでは、Googleが提供する標準的な認証情報と最小限の制約で動作し、管理者の承認なども不要でclasp loginだけで完結する。一方、Google Workspaceアカウントでは、企業のセキュリティポリシーが適用される。具体的には、外部のアプリケーションがWorkspace内のサービスにアクセスするのをデフォルトでブロックする仕組みが導入されている。このため、claspのような外部ツールがGoogle WorkspaceのApps Scriptにアクセスするためには、明示的な管理者による承認や、カスタムのOAuth認証情報の設定が必須となる。
Google Workspaceアカウントでclaspのログイン問題を解決するためには、以下の5つの手順が必要になる。これらの手順は、組織のセキュリティ要件を満たしつつ、claspにApps Scriptへのアクセスを許可するためのものである。
最初のステップは、Google Workspace全体の管理者が行う組織レベルでの設定である。「管理コンソール」にログインし、「セキュリティ」セクション内の「APIの制御」から「アプリのアクセス制御」に進む。ここでclaspというアプリケーションを「無制限」に設定するか、または「制限付き」にしてclaspを「信頼済みアプリ」として明示的に追加する必要がある。この設定を行わないと、組織のセキュリティポリシーによってApps Scriptへのアクセスがブロックされ、以降のいかなる設定も無効になってしまう。
次に、プロジェクトレベルでの設定として、「Google Cloud Console」でApps Script APIを有効にする必要がある。Google Cloud Consoleにログインし、「APIとサービス」から「ライブラリ」を選択する。検索バーで「Google Apps Script API」を検索し、そのAPIを「有効にする」必要がある。デフォルトの状態ではこのAPIが無効になっている場合が多く、有効化しなければ認証プロセスを進めることができない。
このステップでは、アプリケーションがユーザーのデータにアクセスする際に、ユーザーに確認を求める「同意画面」を設定する。Google Cloud Consoleの「OAuth同意画面」セクションで、アプリケーションの名前やサポートメールアドレスなどの基本情報を入力する。重要なのは、ユーザータイプを「内部」に設定することである。これにより、このアプリケーションはGoogle Workspaceドメイン内のユーザーのみが利用できるようになり、セキュリティが保たれる。さらに、テストユーザーとして自身のGoogle Workspaceアカウントを追加しておくことで、開発中にこの同意画面の動作を確認できる。
このステップは、claspが自身の身元をGoogleに対して証明するための「身分証明書」を作成する作業である。Google Cloud Consoleの「APIとサービス」から「認証情報」に進み、OAuthクライアントIDを作成する。クライアントIDの種類としては「デスクトップアプリケーション」を選択する。この操作によって、「クライアントID」と「クライアントシークレット」という二つの情報が生成される。これらは、claspがGoogleの認証システムと通信する際に使用する、アプリケーション固有の識別子と秘密鍵であり、これらを用いてclaspは自身の正当性を証明し、ユーザー認証プロセスを開始できるようになる。
上記の4つのステップが完了したら、いよいよclaspでカスタムのOAuth認証情報を用いてログインを行う。claspには、デフォルトの認証情報ではなく、作成したクライアントIDとクライアントシークレットを使用するように指示する必要がある。具体的なコマンドはclasp login --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRETのようになる。これにより、claspは設定されたカスタム認証情報を使って認証プロセスを開始し、ユーザーは以前に設定したOAuth同意画面を経て、無事にGoogle Workspaceアカウントでのログインを完了できるようになる。
これらの複雑な設定手順は、Google Workspaceが提供する厳格なセキュリティ要件を満たすために不可欠である。個人アカウントではGoogleが自動的に処理するこれらの多くのステップが、企業環境では管理者の明示的な許可と、開発者自身による詳細な設定が求められる。組織のセキュリティポリシーを理解し、それに従って適切な設定を行うことで、外部ツールであるclaspもGoogle Workspace環境で安全かつ確実に利用できるようになる。特に、組織の管理者権限を持つユーザーであれば、これらの問題を比較的スムーズに解決できるが、一般ユーザーの場合は管理者に調査と解決を依頼する必要が生じるため、その手間は大きくなる可能性がある。