WordPressでのランキングプラグイン的なヤツだと、投稿数が増えてきたりするとかなり重くなる。
WordPress Popular Postsとか結構悲惨っすよ。
# 特に投稿時には「1分以上掛かる」とか・・・ね。
なので、それらは外部のデータを使ってやったほうが軽くなるし、
Google Analyticsのデータの方が信頼出来そうって事で、
APIを使ってWordPressのアクセスランキングを作ろうって事になりました。
「Googleさん」で探してみるとやっている人がいたので早速、参考にやってみる。
【WordPress】Google Analytics API で人気記事を表示する
1. 「Google APIs Console」で「OAuth 2.0 Client ID」を取得
2. google-api-php-clientでライブラリ取得
3. 【WordPress】Google Analytics API で人気記事を表示するのサンプルを参考に設置
これで簡単にいけました。
このブログの右カラムにもとりあえず置いてみた。
Cronも設定しておいたよー 🙂
で、こっからはくだらないがちょいちょいハマッタ所。
1. curlがサーバーにインストールされていなかった
2. PHPコンパイル時に「curl」が指定されていなかったので、そもそもAPIからデータが取れなかった
3. アクセスしたGoogleアカウントが「GoogleAnalytics」のアカウントと「Google APIs Console」で指定したアカウントと違うため、データ取得に失敗
4. 失敗したまま「Token」をキャッシュしていたので常にエラーになってしまった
ですね。
「2. PHPコンパイル時に「curl」が指定されていなかったので、そもそもAPIからデータが取れなかった」では、
「–with-curl」オプションを追加してコンパイルすると、
—
configure: error: Please reinstall the libcurl distribution –
easy.h should be in
—
ほえ?curl入ってるけど?って色々と確認したところ、
Ubuntuの「aptitude」で「curl」をインストールしたけど、
そもそもライブラリ的なものが入っていなくてファイルが無いよ?って
エラーだったようだ。
こっちもaptitudeで下記をインストールする。
1 2 | $ sudo aptitude install lib-curl4-dev $ sudo aptitude install libbz2-dev |
んでもって、curlのパス確認。
1 2 | $ which curl /usr/bin/curl |
なので、「–with-curl=/usr/bin」をPHPのコンパイルオプションに追加して、
再コンパイルでうまくいきました。
余談として、
1 | $ make distclean |
したほうが安心でっす。