facebookの「Notifications API」を試してみる

facebookの左上のお知らせ(地球アイコン)に通知を送ってみます。

公式のマニュアルは→Notifications API

POST方法は何でもいいと思いますが、Furlで。

use Furl;

# 通知したい人のfacebookのuserid
my $facebook_id = 111111111111;  # dummy

# アプリのaccess_token(ユーザーのaccess_tokenでは無い)
my $access_token = '111111111|hogehogehogehogehoge'; # dummy

my $furl = Furl->new();
my $res = $furl->post(
    'https://graph.facebook.com/'. $facebook_id .'/notifications',
    [],
    [
        access_token => $access_token,
        template => '通知ですよ',
        ref => 'test',
    ]
);

if ( $res->is_success ) {
    say $res->content;
}

これで、

{
  "success": true
}

が返ってくれば成功。

ちなみに、アプリのaccess_tokenは、

https://graph.facebook.com/oauth/access_token?client_id=アプリのID&client_secret=アプリのシークレットキー&grant_type=client_credentials

で取得できます。

あと、post時のrefは、お知らせのリンクをクリックした際にアプリ側でfb_refとして取得できるので、任意の値を設定可。

ユーザー側にはPermission不要で送ることができるんで、お手軽ですが、送りすぎには注意って事で。