Facebook::GraphでアクセスしているURLを取得する

Facebook::Graphで実際にアクセスしているURLをログに出力したかったので、軽く調べた。

use Facebook::Graph;

my $fb = Facebook::Graph->new(
    app_id => $facebook_application_id,
    secret => $facebook_application_secret,
    postback => $facebook_application_postback,
);

$fb->access_token( $user_access_token );

# dataを取得するだけならfetchで
my $data = $fb->fetch('me');

# 上でやっている事は、下と同じですが、
my $data2 = $fb->query->find('me')->request->as_hashref();

# Facebook::Graph::Queryだとuri_as_string()が使えるので、
my $request_url = $fb->query->find('me')->uri_as_string();
# ってな感じで、実際にアクセスしているURLが取得できる。

あとはログに出力して完了っと。

他に使うとしたら、パラメータ追加するとかですかね・・?

# 上で取得したURLにパラメータ追加してみる
$request_url .= '&locale=ja_JP';

my $data3 = $self->fb->query->request( $request_url )->as_hashref;

ま、ここまでやるならFacebook::Graph使わずにFurlとかでアクセスした方が話が早いような気もしますが。