toggle
2015-06-25

OAuth2.0に認証に対応したG Analytics 2をインストールすると401エラーがでたけど、どうにか動くようになった

G AnalyticsというWordPressプラグインがあります。
これはWordPressの管理画面でGoogle Analyticsの解析結果を見ることができるというプラグイン。公式で配布されているプラグインではありませんがかなり便利です。

似た機能を持つプラグインはいくつかありますが、このG Analyticsは作者が日本の人ということもあってなんとなく使いやすく重宝していました。

WordPress buttons and Stickers
WordPress buttons and Stickers / Alexander Gounder

ところが先日、5月の終わり頃に急にこのプラグインが使用できなくなりました。
G AnalyticsはGoogle Analytics APIを利用して動いているプラグインなのですが、このGoogle APIへの接続がClientLogin認証からOAuth2.0認証へと変更されたのがその原因。

この認証方式の変更はG Analyticsだけではなく、その他のGoogle Analytics APIを利用したプラグインへも同じように影響を与えています。
例えばSimple GA Rankingとか。
ちょうど同じタイミングでそれらのプラグインも使えなくなりました。

そんな理由によりこのプラグインはしばらく使えなくなっていましたが、6月の中旬、はやばやとGoogle Analytics APIの新しい認証方式に対応した新バーションのG Analyticsが公開され、無事復活しました。

無料プラグインにもかかわらず、こういったメンテナンスを行ってくれるというのは本当にありがたいです。

ということで、以下OAuth2.0認証に対応したG Analyticsの設定メモです。

だいたい流れとしては

1、Google Developers Consoleの設定
2、G Analyticsのインストールと有効化
3、G Analyticsの設定

といった順序になります。

また今回G Analyticsを使おうとしたサーバーでは最初401認証エラーがでたので、そのあたりの対処法なども書いています。

なお以前のverのG Analyticsを使っていた事を前提に書いていますので、前の設定がそのまま使える部分などは端折って説明しています。

Google Developers Consoleの設定をして必要な情報を得る

新しいG AnalyticsでOAuth 2.0認証を行うには、認証用の「クライアントID」と「コンシューマーシークレット」というコードが必要。

この二つはGoogle API Consoleで設定を行う事により、入手が可能になります。

ですのでまずはGoogle API Consoleのページへ行き、必要な作業を行います。
Google APIs Console

利用したいGoogleアカウントでログインした状態で上記のリンク先へ飛びます。
規約が更新されているらしいのでとりあえず同意。

なにやらコンソール画面がちょっと変わっているようです。
左サイドバーの「APIと認証」をクリックすると下にメニューが展開されます。
「同意画面」をクリック。

同意画面では「メールアドレス」と「サービス名」を入力。
というかメールアドレスは最初から入力された状態になっているのでそのまま。
この2つ以外の項目の入力は任意でいいそうです。

入力が終われば一番下の「保存」をクリック。

保存が終了すれば再びサイドバーに戻り今度は「認証情報」をクリック。

認証情報画面で「新しいクライアントIDを作成」をクリック。

クライアントIDの作成画面が表示されます。

「承認済みのJavaScript生成元」欄にはG Analyticsを設定したいサイトのドメイン名を入力。
「承認済みのリダイレクトURI」欄にはG Analyticsを設定したいサイトのドメイン名を含む下記のURIを入力。

http://ドメイン名/wp-admin/admin.php?page=GAnalytics&mode=callback

このブログのドメインは note100yen.com ですが、もしこのサイトに設置する予定なら下記のように入力する事になります。

入力が終われば一番下の「クライアントIDを作成」をクリック。
しばらくすると新しいクライアントIDが生成されます。

この段階でクライアントIDコンシューマーシークレットは作成されています。

あと一息。APIを有効化します。
作成されたID等はちょっと置いておき、再びサイドバーから「API」をクリック。

APIライブラリ画面を下にスクロール。

Advertising APIの中にある「Analytics API」をクリック。

「APIを有効にする」をクリック。

これでOAuth 2.0認証の準備は完了。

G Analyticsの最新版をインストール

作者サイトより最新のG AnalyticsプラグインのファイルをダウンロードしてWordPressのPluginsフォルダにアップロードします。

この記事の時点での最新版はG Analytics 2.0.3
G Analytics | ソフトウェア | アイビースター

アップロードやインストールは普通のWordPressプラグインと同じなのでこのあたりは割愛。

インストールが終われば有効化しておきます。

G Analyticsの設定を行う

WordPressでG Analyticsを有効化するとメニューに新しい項目が表示されます。
なんか前とちょっと位置が違います。なんででしょう。

最初は「クライアントID」と「クライアントシークレット」が入力されていませんので「認証URLが正しく取得できません」と表示されています。

先ほどのコンソール画面で「APIと認証」→「認証情報」へと進み、2つのコードを確認してコピペしましょう。

ちなみに今までG Analyticsを使っていたのであれば「ビューID」は最初から入力されているはずです。
初めて使用する等で不明ならGoogle Analyticsの管理画面で調べておきましょう。
G AnalyticsのプロファイルIDの調べ方 | アイビースター

最後は「変更を保存」。

401認証エラーが出る

これでようやくG Analytics復活、と思いきや何かこんなエラーが表示されます。

そして管理画面にはこんなエラーコードが表示。

Warning: Cannot modify header information - headers already sent by (output started at /home/****/****.com/public_html/wp-content/plugins/all-in-one-seo-pack/aioseop_class.php:966) in /home/***/****.com/public_html/wp-content/plugins/g_analytics/g_analytics.php on line 142

まさか途中でどこかの手順が間違っていたのかと、あまりの面倒くささにこのあたりで一度心が折れかけたのですが、ググればどこかに答えが書いてあるだろうと思い直し調べてみる事にしました。

解決策がわかった

結果、このプラグインの作者さんのブログのコメント欄に答えはありました。
G Analytics Ver. 2.0.3公開-セッションエラー対策 | アイビースター

ちょっと引用

レンタルサーバのphp.ini設定画面の(もしくは直接編集で)output_buffering = Offもしくはoutput_buffering = 4096のようなところをoutput_buffering = Onに変更するとできるかもです。自分はミニバードでこれでできました。

最初読んだ時は何を言っているのか全く意味がわからなかったのですが、書かれているキーワードで検索する事しばらく。
ようやくやり方が見えてきました。

ついでのこちらもページも参考。
G Analytics Ver2.0 インストールにおける 401 認証エラーの解決法 | RE13B.net

ようするに

レンタルサーバーのphp.iniの一部を書き換える

という話です。

なお今回G Analyticsを使おうとしているブログがあるサーバーはミニバード
下記のやり方で解決できたので同系統のサーバーのファイアバードなどでも同じやり方でいけると思います。

レンタルサーバーのphp.iniを書き換える

ネットオウル系のサーバーを使った事にある人ならわかると思いますが、ミニバードではWordPressをインストールしたルートフォルダより上の階層にFTPやSFTP接続ができません。
通常は。

ただちょっとした裏技的な事をすれば、上の階層へFTPクライアントソフトで接続する事も可能となります。

まずは上記の記事の手順で上の階層にアクセスできるようにしておきます。
そして適当なクライアントソフトでサーバーのルートより上の階層へアクセス。
この記事ではWinSCPを使っています。

この画像の上にあるフォルダが目的のWordPressをインストールしているフォルダの上の階層のフォルダです。

そのフォルダを覗くと、public_htmlと並んでphpというフォルダがあります。

そのphpというフォルダの中にある「php.ini」が今回の目的のファイル。

php.iniファイルの中で「output_buffering」というキーワードを検索。
このときは41行目にありました。

4096となっていますがここがoffという表記になっているサーバーもあるようです。
どちらにしても値をOnに変更。

書き換えるのはここだけ。

G Analyticsが動くか確認

これで本当にG Analyticsを動かす準備は完了。

試しにG Analytics内の項目を一つクリックしてみます。
こんな画面が表示されました。
もちろん承諾します。

そしてようやくG Analyticsが無事稼働。

いちいちGoogle Analyticsの管理画面にいかなくても解析結果をすぐに見ることができるので非常に便利。

ただ以前サイドバーとかにアクセスカウンターの表示ができていましたが、ver2以降はそれができなくっています。
WordPressで使えるもののなかで一番正確なアクセスカウンターだったので、個人的にはこれが結構残念です。

スポンサードリンク

関連記事

このブログの更新情報を配信しています!

follow us in feedly RSS twitter facebook google plus