質問: 以下、Google APIで認証に失敗することが多く、原因や対処方法が特定できずに困っています。 ご存知の方、ご教授お願いいたします。 ●不具合の現象 Googleアカウントに1アカウントのみログイン済みの状態で、 Google APIのAuth2認証でGoogleアカウントで再度ログインしようとすると、`popup_closed_by_user`エラー(ユーザからポップアップが閉じられた)になり、 認証に失敗する。 Chromeで発生することが多く、IEは発生することが少ない。 但し、Googleアカウントに複数アカウントログイン済みの場合は、 上記の認証エラーは発生せず正常に認証される。 ●環境 OS:Windows7(64bit) Chrome:66.0.3359.181 IE:11.0.9600.18402 備考:ブラウザのポップアップブロックは解除済みの設定。 ●Google API gapi.auth2.authorizeメソッドの認証で失敗します。 URL: 以下、指定しているパラメータです。 ``` gapi.auth2.authorize({ //OAuth2.0認証をする。認証後、コールバック関数が呼び出される。 'client_id': clientId, 'scope': "https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile", 'immediate': true }, ```
回答: 質問に記載しているリファレンス (URL: )には、以下のように'gapi.auth2.authorize'を使用するのを推奨しないというワーニングがあります。 > > Warning: this section covers features that are not recommended for most use cases. Make sure that the methods described in the Guides don't work for your use case before using such features. > > > 'gapi.auth2.authorize'を使って問題が出るのであれば、'gapi.auth2.init'の方を使っ方がいいのではないでしょうか。 参考: