App-ggdrv
view release on metacpan or search on metacpan
lib/App/ggdrv/fsearch.pm view on Meta::CPAN
$csec = qx [ sed -ne's/^CLIENT_SECRET[ =:\t]*//p' $gfile ] =~ s/\n$//r ; # ã¯ã©ã¤ã¢ã³ãã·ã¼ã¯ã¬ãã
$rtoken = qx [ sed -ne's/^REFRESH_TOKEN[ =:\t]*//p' $gfile ] =~ s/\n$//r ;
$atoken = qx [ sed -ne's/^ACCESS_TOKEN[ =:\t]*//p' $gfile ] =~ s/\n$//r ;
$disk = Net::Google::Drive->new(
-client_id => $cid, -client_secret => $csec, -refresh_token => $rtoken , -access_token => $atoken );
$file_name = $ARGV[0] // '*' ; # ãã¡ã¤ã«ä¸è¦§ãåºåã## ã¢ã¹ã¿ãªã¹ã¯ã§å
¨é¨ã®ãã¡ã¤ã«ã®æ
å ±ãåã£ã¦ããããã ãæå¤§100åã®ããã§ããã
$files = $disk->searchFileByNameContains( -filename => $file_name ) or croak "File '$file_name' not found";
$fnum = 0 ;
binmode STDOUT, ":utf8";
do { say join"\t",sprintf('%03d',++$fnum),$_->{kind},$_->{id},qq["$_->{name}"],$_->{mimeType} } for @{$files} ;
}
=encoding utf8
=head1
æå¤§100åã®ãã¡ã¤ã«ãåãåºãã
ã¯ã¤ã«ãã«ã¼ãã使ã£ããã¡ã¤ã«åã§æ¤ç´¢ãã§ãããIDãçªãæ¢ãããã¨ãåºæ¥ãã
lib/App/ggdrv/fsearchall.pm view on Meta::CPAN
$atoken = qx [ sed -ne's/^ACCESS_TOKEN[ =:\t]*//p' $gfile ] =~ s/\n$//r ;
say $atoken ;
$count_limit = $o{g} // 2 ;
# å
¨ã¦ã®ãã¡ã¤ã«ãåå¾ãã
$uri = URI -> new ( $GOOGLE_DRIVE_API ) ;
$uri -> query_form ( access_token => $atoken ) ;
& files ( $uri ) ;
}
sub files {
binmode STDOUT, ":utf8" ;
my $uri = shift;
#say "\$uri=$uri" ;
my $count = 0 ; # URIã®ä¸èº«ããåãåºãã nextPageToken ãå¼ã£å¼µãåºããåæ°
my $fnum = 0 ; # ãã¡ã¤ã«ã®åæ°
my $ht = HTTP::Tiny->new();
while ( $count < $count_limit ) {
my $contents = decode_json( $ht->get($uri)->{content} );
do { print Dumper $contents ; $contents->{error} ? last : next } if $o{D} ;
$uri->query_form( access_token => $atoken, pageToken => $contents->{nextPageToken} ) ;
for my $content ( @{ $contents->{files} } ) {
lib/App/ggdrv/upload.pm view on Meta::CPAN
getopts 'f:m:' , \%o ;
$o{f} //= '' ; # ãã©ã«ãå
$o{m} //= 'text/plain' ; # MIMEã¿ã¤ã
$gfile = $ENV{ GGDRV_API } // "~/.ggdrv2303v1" ;
$atoken = qx [ sed -ne's/^ACCESS_TOKEN[ =:\t]*//p' $gfile ] =~ s/\n$//r ;
$GOOGLE_DRIVE_UPLOAD_API = "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart" ;
& f_each ( $_ ) for @ARGV ;
}
sub f_each ( $ ) {
binmode STDOUT, ":utf8";
my $mimeType = $o{m} ;
my $ej1 = encode_json { name => $_[0] , mimeType => $mimeType , $o{f} ne q[] ? ( parents => [ $o{f} ] ): () } ;
my $res = LWP::UserAgent -> new -> request (
POST $GOOGLE_DRIVE_UPLOAD_API ,
'Content-Type' => 'multipart/form-data' ,
Authorization => "Bearer $atoken" ,
Content => [
metadata => [ undef, undef , 'Content-Type' => 'application/json;charset=UTF-8' , 'Content' => $ej1 ] ,
file => [ $_[0] ] ,
] ,
( run in 0.511 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )