sub api_videos { use Data::Dumper; my $ua=LWP::UserAgent->new(keep_alive=>1,timeout=>100); my @vidlist0=qw/ bH4tEHg-Wtc ShI5jhe3bi4 bbpyN89Vquk EgJ5GGD_2QQ YoRnMC2MlqU 7M39G0Yxydk 1ov2NQ2Sz5w HmourJ3O6Ss sWSzjBPI1cY czt_a0fKvFA x6GDUIUHSqg 4oEWS33lt9M KlTwG3UNqE8 ACVgSl9OpIQ mbsGOyNjsNQ L2qpMI6mNpU 6a1Ziw0-4X4 3Z08nsbhlAY vMLGUrVyyMk pjmyy0qKN2o qyXxrPTcFKE d2SFFHlHNCY akSp8m4JAnY AEDw975DAlM ypl033on69k LM7GxrK-hgo L6qq5aVOEmc tGEnzlNkGKI Aq2QQYY8YSA ZnnzFSGGJP4 Nt1qRbAlrCs cnGQ2nE3USI YuzE5jomGLk wSz2kCpuZ6E v40RcxCpvgM bUVLymf4c00 -_rQwhvJDd4 jmaB41hx8b0 lcLSo0dijv8 HtBbRvj2cfc lQVBX6aqC8o rbq4RZGP8YU qy5NfKg1fJo jtjOcSBBoiE aRhqb-pljGk iRbqaMfpOrA tSKGYQFwAHs 7sHXl8q7uDY d4u8Wj0xY7A Rtzk1I0BhSI x /; my $vidlist=[]; my $n=0; my @vidlists=(); my $testct=10; my $back={}; for my $vid (@vidlist0){ $n++; if ($n>$testct) {push @vidlists,$vidlist; $n=1; $vidlist=[];} push @{$vidlist},$vid; } push @vidlists,$vidlist; my $head='https://www.googleapis.com/youtube/v3/videos?fields=items/id,items/statistics/viewCount&part=statistics&id='; for my $vl (@vidlists){ my $getline=$head.join(',',@{$vl}); my $req = new HTTP::Request (GET => $getline ,HTTP::Headers->new( 'Authorization' => 'Bearer '.$agrp->{access_token} ) ); my $request = $ua->request ($req); unless ($request->is_success) { print "\n** Can't get -- :".$request->status_line."\n"; print $getline."\n"; } else { my $jsondata; eval{ $jsondata=$json->allow_nonref->decode($request->content);} ; if ($@) { print 'json decode error:'.$@ ."\n"; } elsif ($jsondata->{error}) { print Dumper(\$json); } else { for my $item( @{$jsondata->{items}} ) { $back->{$item->{id}}=$item->{statistics}{viewCount}; } # item } # no error } # success } # vl for my $vid(@vidlist0) { unless (exists $back->{$vid} ) {print "video $vid not returned\n";} } print Dumper({back=>$back}); }