Home > Perl Archive

[ << < 1  2  3  4  5  6  7  8  9  10  11 >> ]

Perl Archive

Google Analytics API を Perl で使ってみる

世間から五周回遅れくらいで、Google Analytics の API を使ってみるよ

実際使う分には JavaScript で、Developer's Guideにある通りにやればいいんだけど、Perl のサンプルがなくて寂しいので、書いてみた

Net::Google::AuthSub とか使えば、前半部分はもっと簡単になりますな

#!/usr/bin/perl

use strict;
use warnings;

use LWP::UserAgent;
use XML::FeedPP;

my $email = 'your_analytics_id';
my $pass = 'your_analytics_pw';
my $ids = 'profile_id';

my $ua = LWP::UserAgent->new;
$ua->env_proxy;

# get token
my $auth = $ua->post('https://www.google.com/accounts/ClientLogin',
                    {
                     Email => $email,
                     Passwd => $pass,
                     service => 'analytics',
                     source => 'LWP-UserAgent',
                     accountType => 'HOSTED_OR_GOOGLE'
                    }
                   );
die 'auth:'.$auth->status_line unless $auth->is_success;
my ($token) = $auth->content =~ /Auth=(.*)/;

# get result (atom)
my $url = 'https://www.google.com/analytics/feeds/data?'
    .'ids=ga:'.$ids
    .'&dimensions=ga:requestUri'
    .'&metrics=ga:pageviews'
    .'&sort=-ga:pageviews'
    .'&start-date=2009-04-01'
    .'&end-date=2009-04-30'
    .'&max-results=5';
my $req = HTTP::Request->new( GET => $url );
$req->header('Authorization' => 'GoogleLogin auth='.$token);
$req->content_type('application/atom+xml');
my $res = $ua->request( $req );
die 'data:'.$res->status_line unless $res->is_success;

# parse atom data
my $feed = XML::FeedPP->new( $res->content );
for my $item ( $feed->get_item() ) {
    print $item->{'dxp:dimension'}->{'-value'},':',$item->{'dxp:metric'}->{'-value'},"\n";
}

JPA セミナー #02 in 大阪梅田(長文注意)

職場から近いので、JPA のセミナー行ってきた
例によって、レポートではなく感想。。。。だけど、ちと長いよ(主に自分の Perl とのかかわり方的な文章)

  • 人少な! みんな、Perl 好きなんじゃなくて、はてな好きなんだろ?
  • Catalyst 力と英語力と、両方不足し過ぎ。英語読むだけならなんとか。。。とか言うてる場合じゃない
  • Moose はなんとなくしか知らないブツだったが、大変よくわかった。触ったことない者にとっては、あれよりわかりやすい説明はなかなかないと思う
  • Shibuya.pm 界隈のとんがった人たちはスゴイもの作ってすぐ飽きるらしい
  • 牧さんは気さくな方だった。もっと威圧感のある方と想像していた。ごめんなさい
  • 一緒に呑みにいった人たちも、みなさん気さくな方たちだった
  • 呑みの席で J に話しかけれる程度の英語力は必要だなぁ、と思った。猥談ならなんとか。。。とか言うてる場合じゃない

で、酔っぱらた頭で帰り道に考えたことは、

Shibuya.pm 周辺の方たちは、すごく濃ゆいことをすごい速さでやって、Perl 界隈を世界レベルで盛り上げてくれる

JPA 周辺の方たちは、今後きっと「受注して Perl で作って納品して」とか「自社開発の Web サービスを Perl で」とかいう、会社としてのメイン業務になるくらいの、比較的大がかりなあたりで、日本国内の Perl 界隈を盛り上げてくれる。Catalyst とか Moose とか FCGI とかの話は、すごく納得がいく

で、自分が Perl を使い始めてから今までいた世界は、もっと小さな世界で、5 を使えなくて 4 でとか、5 標準モジュール + Jcode.pm しかないとか、FTP しか使わせてもらえなくてローカルでコンパイルして FTP でとか、あまり嬉しくない制限のある環境。わりと最近も 5.6 な環境があったり

そういう環境は別に嫌いじゃないし、選択肢が自然と CGI::Appication だったり、フレームワークを自作したりということになるが、それもまた嫌いじゃない。環境にあまり文句を言わないので周りに重宝がられたこともあるしね。最近は、MT のことはけっこうわかってきた。MT 動かないレンタルサーバは少ないので便利。動かなければ自作フレームワークの出番

何が言いたいのかというと、自分でもあんまし考えが整理できてないんだが、Catalyst や Moose も魅力的だけど、nanoa や MENTA の世界が自分の居場所だなぁ、と。CGI だなぁ、と

自分はそういうところで、あまり予算のかけられない人や場所で、そんな大掛かりな仕組みではないけどそれがなくて困っている誰か、その人の喜ぶ顔が見たくて、その道具としてこれからも Perl を使いますよ。昭和も平成も笑顔は同じ

あ、Moose は楽しそうなので、プライベートではさわる

。。。というような事を考えるきっかけになった JPA セミナーは、今後も機会を作って参加したいし、手伝えそうならお手伝いします

MT に投稿すると同時に

Twitter に通知するプラグインなんか、絶対あるよね? と思ったらやっぱりあった。日記を MT に移行したら Wassr 用作ろ

MTOS ちょっとづつ (12)

  • 作ったはいいもののまったく使ったことがない「高橋メソッドプラグイン」、Movable Type に移植するかどうか。。。しばらく放置
  • Google Map プラグインも、MT だし、そのままタグ貼ればいいか?
  • alpslab は、本家でプラグイン配布してたな、確か
  • とかやってたら、とりあえず 2005 年分まではなんとかコンバートできたっぽ

MTOS ちょっとづつ (11)

とりあえず、amazon へのリンクと mp3 のはりつけをグルーバルフィルタで実装してみた
気楽だな。プラグインに MT の URL とか渡すのみ気兼ねなくできるし
当面この方針で再実装しながら、グルーバルフィルタのよくないところを考えたりしてみる

MTOS ちょっとづつ (10)

MT::Plugin::HikiDoc を使いながら FSWiki2MT を試していたんだが、ちょっと方向転換
もともと自前システムでやっていた感じの

  • Basic な HTML に関する部分は Text::HikiDoc で
  • 他の記法でも共用したい部分 (amazon へのリンクとか、mp3 貼付けとか) は、別枠で

ってのがやっぱり正しい気がするので、方法を思案した結果、もうグローバルフィルターでやっちゃえばいいかな、と思った。で、グローバルフィルターを追加していく部分をプラガブルにしておけばよいかな、と

本当にそれでいいのかどうかは、今後実装しながら考える。

MTOS ちょっとづつ (9)

  • MT::Plugin::HikiDoc 用に
    • exif plugin 作った
    • footnote plugin 作った
    • toc plugin 作った
    • img plugin はいまいち気乗りがしないので、raw でいいか
  • FSWiki 2 MTOS ちょっとづつ
    • エントリ 1000 件越えると、全再構築クソ重たい
  • Cooliris 用 RSS を出力するためのテンプレートはまだ

MTOS ちょっとづつ (8)

HikiDoc プラグイン続き

  • Text::HikiDoc::Plugin::amazon 作った
  • スーパー pre 記法っぽく raw かけるようにした
  • exif plugin はまだ
  • img plugin もまだ
  • Cooliris 用 RSS を出力するためのテンプレートもまだ

MTOS ちょっとづつ (7) - そろそろ終わるにょろ -

HikiDoc プラグイン続き

  • img タグの部分やっと対応
    • つっても、現状は Text::HikiDoc::Plugin::raw でかこってるだけ。ぶさいくで視認性落ちるので、MT::Plugin::HikiDoc 用にイメージプラグイン作る予定
  • あといくつか MT::Plugin::HikiDoc 用にプラグイン作って、自分のサイトでしばらく運用して、問題なさげなら公開予定
    • amazon と exif は必要だなぁ
    • スーパー pre 記法っぽくかける raw もあるとうれしいかも。それがあれば、ムービー系はそれで貼ればいいや

後は、Cooliris 用 RSS を出力するためのテンプレート書く

MTOS ちょっとづつ (6)

HikiDoc プラグイン続き

  • 管理画面から、Text::Hikidoc 用プラグイン使用の有無を設定できるようにした
    • perldoc MT::Plugin とかでドキュメントはでるわけだが、あれは、MT::Plugin わかってる人用のリファレンス。つうわけで、結構調べるのが大変だった。後でまとめる
  • img タグの部分はいまだ放置中

[ << < 1  2  3  4  5  6  7  8  9  10  11 >> ]

Home > Perl Archive

Feeds

Return to page top