参考url
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Data::Dumper;
use Digest::SHA qw(sha256_hex);
use JSON;
use HTTP::Request::Common;
use LWP::UserAgent;
my $LWP_OPT = {file =>"cookies.txt", autosave=>1, ignore_discard => 1};
my $CAPI_URL = 'https://graph.facebook.com/v12.0/ないしょID/events';
my $CAPI_TOKEN = "ないしょTOKEN";
main();
sub main {
my $ua = LWP::UserAgent->new;
$ua->cookie_jar($LWP_OPT);
my $form_data = [
{action_source=>"website",
event_name=>"CatalogRequest",
event_time=> time(),
event_source_url=>"https://example.com/test_url",
custom_data=>{},
user_data=>{
em=>[
Digest::SHA::sha256_hex('nobody@example.com')
]
}
}];
my $form_data_json = encode_json($form_data);
my $req_url = "$CAPI_URL?access_token=$CAPI_TOKEN";
my $req_param = [ access_token=>$CAPI_TOKEN,
data=>$form_data_json ];
my $req = POST($req_url, $req_param );
my $res = $ua->request($req);
if( not $res->is_success or
not chk_response($res) ) {
error_occured($req,$res);
return;
}
return 1;
}
sub chk_response {
my ($res) = @_;
my $res_content_json = $res->content;
my $res_content = decode_json( $res_content_json );
if( $res_content->{events_received} eq "1"){
return 1;
}
print STDERR Dumper($res);
return;
}
sub error_occured {
my ($req,$res) = @_;
TODO
}