エラーはさまざまなレイヤで発生する可能性があります。エラーが発生した場所に応じて、通知方法が異なる場合があります。
必須の OAuth パラメータ
必要な OAuth パラメータ(client_id やスコープなど)を設定していない場合、ブラウザの JavaScript コンソールにエラー メッセージが表示されます。

OAuth 構成エラーを修正する
一部のエラーを解決するには、Google API Console で変更が必要になる場合があります。
- クライアント ID を作成します(まだ作成されていない場合)。
- ポップアップ UX の場合は、現在のフローをトリガーする可能性のあるすべてのドメインを
Authorized JavaScript origins
に追加します。 - リダイレクト UX の場合は、認可レスポンスを受信する可能性のあるすべての URL を
Authorized redirect URIs
に追加します。 - OAuth 同意画面を適切に構成します。
- 必要に応じて、アプリの確認を受けるための送信を行います。
- Google の OAuth 2.0 ポリシーに準拠するには、追加の手順が必要になる場合があります。
OAuth パラメータ値が無効です
無効なクライアント ID、スコープ ID、レスポンス タイプ値など、無効な値を OAuth パラメータに設定すると、OAuth エラーページが表示されます。

OAuth エラー レスポンス
OAuth からエラー レスポンスが返される場合があります。その場合は、エラー レスポンスがパラメータとして渡され、callback
関数がトリガーされます。次の例は、OAuth エラー レスポンスです。
{ "error":"access_denied" }
以下にいくつか例を示します。
- ユーザーが OAuth リクエストを拒否します。
prompt=none
パラメータを含む OAuth リクエストの場合、ユーザーは認証されておらず、リクエストされたスコープの同意が事前構成されていません。
次の例は、成功とエラーの OAuth レスポンスを処理する方法を示しています。
function myCallback(response) {
if (response.error) {
// Handle error response
... ...
} else if (response.code) {
// Handle success code response
... ...
}
}
OAuth 以外のエラー
OAuth では、次の場合に動作が定義されていません。
- ポップアップ ウィンドウが開かない。
- OAuth レスポンスが返される前にポップアップ ウィンドウが閉じられる。
このライブラリはこれらのエラーをキャプチャし、設定されている場合は error_callback
をトリガーします。エラーの種類を必ず確認してください。そうしないと、このライブラリが新しいエラータイプをサポートしたときに、コードロジックが影響を受ける可能性があります。
function myErrorCallback(err) {
if (err.type == 'popup_failed_to_open') {
// The popup window is failed to open
... ...
} else if (err.type == 'popup_closed') {
// The popup window is closed before an OAuth response is returned
... ...
}
}
const client = google.accounts.oauth2.initCodeClient({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
scope: 'https://www.googleapis.com/auth/calendar.readonly',
ux_mode: 'popup',
callback: myCallback,
error_callback: myErrorCallback
});