[wordpress][プラグイン] Site Kit by Googleのセットアップ時にError 400 (OAuth2 error)が発生した

2019-08-01 14:02:46wordpressgoogle, Site Kit, wordpress, プラグイン

WordPressを稼働しているとどうしてもアクセス解析等を行うことも多いと思いますが、その際によく利用するのがGoogleのSearch Consoleとかだと思います。

で、毎回Google Search Consoleなどにアクセスするのは手間だなぁと思っていますが、どうやらGoogleが公式解析プラグイン「Site Kit」を公開していたようです。

で、そちらのセットアップを使用したいと思った時、なぜかエラーで手間取ったのでメモ代わりに書いておきます。

公式サイト

こちらのプラグインを導入することで、Googleの「Search Console」「Analytics」「PageSpeed Insights」「AdSense」などが一つの画面で管理、確認できるようになります。

ちなみGitHubで開発が行われています。

セットアップ手順

こちらについては、以下のWebサイトが詳細に書いておりますので丸投げします(申し訳ありません)。

基本的には、Site Kit By Googleの公式サイトから、Site kitプラグインのzipファイルをダウンロードし、WordPress側でプラグインファイルをアップロードするだけです。

正常にインストールすることが出来たら、あとはウィザードに従ってセットアップを進めるだけ、なのですが、うちの環境では以下のようなエラーが。

問題

json形式のパラメータを貼り付けて、いざGoogle API側との連携のためにサインインをしようとすると、以下のようなエラー画面に。

なんか、client_idとかredirect_urlなどのパラメータが正しく渡せていないようです。他のWebサイトで導入した時はこのようなエラーが発生しなかったのでなんでかなーと思い、ちょいと調べてみました。

Googleを検索してみると、以下のような感じ。

これに該当するような直接的な情報は見つからず。

Apache側の問題かなーと思い、error.logを確認したところ以下のようなメッセージが。

[Thu Aug 01 13:37:49.736834 2019] [proxy_fcgi:error] [pid 27215:tid 140322364118784] [client xxx.xxx.xxx.xxx:52249] AH01071: Got error 'PHP message: PHP Warning:  json_decode() expects parameter 1 to be string, array given in /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/simple-ga-ranking/vendor/google/apiclient/src/Google/Client.php on line 165\nPHP message: PHP Warning:  call_user_func() expects parameter 1 to be a valid callback, no array or string given in /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/google-site-kit/includes/Core/Modules/Module.php on line 296\nPHP message: PHP Fatal error:  Uncaught Error: Call to a member function getLighthouseResult() on null in /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/google-site-kit/includes/Modules/PageSpeed_Insights.php:133\nStack trace:\n#0 /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/google-site-kit/includes/Core/Modules/Module.php(298): Google\\Site_Kit\\Modules\\PageSpeed_Insights->parse_data_response('GET', 'site-pagespeed-...', NULL)\n#1 /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/google-site-kit/includes/Core/REST_API/REST_Routes.php(518): Google\\Site_Kit\\Core\\Modules\\Module->get_batch_data(Array)\n#2 /opt/bitnami/apps/wordpress/htdocs/wp-includes/rest-api/class-wp-rest-server.php(946): Google\\Site_Kit\\Core\\REST_API\\REST_Routes->Google\\Site_Kit\\Core\\REST_API\\{closure}(Object(WP_REST_Request))\n#3 /opt/bitnami/apps/wordpress/htdocs/wp-includes/rest-api/class-wp-rest-server.php(329): WP_REST_Server->dispatch(Object(WP_REST_Request))\n#4 /opt/bitnami/apps/wordpress/htdocs/wp-includes/rest-api.ph...\n', referer: https://blog.komeho.info/wp-admin/admin.php?page=googlesitekit-dashboard&ip-geo-block-auth-nonce=

うまく渡せていない、ぐらいしか分かりませんね。

他にも要因になるようなものがあったかなーと改めて確認したところ、ようやく原因が分かりました。

原因

こちら「Simple GA Ranking」というWordPressのプラグインなのですが、 WordPressにGoogle Analyticsのデータと同期してランキングを表示させることで、WordPressのデータベースにランキングデータを格納しないため軽量に動作することを売りとしているものです。

で、上に書いたようにこちらのプラグインもGoogle Analyticsと連携して動作するものでして、どうやらこちらのプラグインが動作していると、今回セットアップしようとしているSite KitのAPIへのリダイレクトが正常に動作しないことが分かりました。

対応

なので、Site Kitプラグインをセットアップするときは、一旦、「Simple GA Ranking」プラグインを停止させ、Site Kitプラグインのセットアップを行うようにすれば、セットアップが正常に行われるようになりました。

POINT

Site KitプラグインのAPIセットアップを行おうとしているのに、先にSimple GA RankingプラグインののAPIがなぜか参照されてしまい、そこでコンフリクトを起こしてしまい、今回のエラー(Error 400 (OAuth2 error))が発生しているものと推測されます。

また、Site Kitプラグインのセットアップが終わり、Simple GA Rankingプラグインを再稼働させると、WordPress側でうまく処理できない状態になり、技術的なエラーが発生した、となるようになってしまいます。

ですので、Site Kitプラグインを稼働させるときは、Simple GA Rankingプラグインは使用できない、と認識していればよいと思います。

どこかで困っている人の一助になれば幸いです。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。

興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。

じつはRouterboard User Group JPの中の人でもある。

Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

2019-08-01 14:02:46wordpressgoogle, Site Kit, wordpress, プラグイン