Google Management APIを使うために、JavaScriptのクイックスタート「HelloAnalytics.html」では普通に取得に成功。
しかし、Laravelに移管して試すと、なぜかresponse.errorで「idpiframe_initialization_failed 」が帰ってくる。
調べるとcookieとかなんとか書いてある記事ばかりにぶつかるが、ブラウザ設定の問題であれば、なぜHelloAnalyticsではうまくいくのか問題があるので、調べていると「response.details」で詳細も調べられる模様。
すると、「Not a valid origin for the client: http://localhost:8000 has not been whitelisted for client ID 445466545626-no2p05n4ehh5f2q8ria3loh78ddh6r1k.apps.googleusercontent.com. Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID.」と、要はDeveloper Consoleでホワイトリストに入れていないからダメというアラート。
いやいや、localhostはきちんと入力しているし、クイックスタートもlocalhostだけど動いてるやん!
この記事で解決。
どうも、Google認証の「OAuth 2.0 クライアント ID」は、一度あるポートで使うと、その後で違うポートで利用することはできないらしい。
クイックスタートはMAMP(ポート80)で動かしていて、LaravelはLaravelサーバ(ポート8000)で動かしたためNGだった模様。
新しくOAuth 2.0 クライアント IDを作り直したら、あっさり解決。