我为Facebook制作了一个Perl脚本,但是在一段时间之后它没有用,或者如果我退出了.我认为这是由于访问令牌过期.
有人可以帮助我延长令牌的到期时间吗?
我得到一些代码它有效,但没有说明这一部分!$ dump_done ...
my $dump_done = 0;
foreach my $line(keys %results){
if ($results{$line} == 1 and !$dump_done) {
print Dump($post);
$dump_done = 1;
}
}
Run Code Online (Sandbox Code Playgroud) 看看@arr和@arre,我发现错误:第20行:在test.pl第20行使用"strict refs"时,不能使用字符串("")作为HASH引用.
第20行for our $post (@{ $resp->{data} }) {
sub graph_api {
unlink "data.txt";
open(MYFILE2, ">data.txt");
close(MYFILE2);
our @arr = (
"me/inbox?fields=comments.limit(2)&limit=1",
"me/home?fields=name,link,from,story,is_hidden,message&limit=1"
);
foreach our $arre (@arr) {
my $uri = new URI("https://graph.facebook.com/" . $arre . "&access_token=");
chomp(my $content = get $uri);
die "Couldn't get $uri" unless defined $content;
our $resp = get("$uri");
defined $resp ? decode_json($resp) : undef;
}
Run Code Online (Sandbox Code Playgroud)
但是当我改变这个时,一切正常:
our @arr = ("me/inbox?fields=comments.limit(2)&limit=1","me/home?fields=name,link,from,story,is_hidden,message&limit=1");
my $uri = new URI("https://graph.facebook.com/".$arr[0]."&access_token=");
Run Code Online (Sandbox Code Playgroud)