in reply to Re: Net::Google::Spreadsheets::V4 usage
in thread Net::Google::Spreadsheets::V4 usage

I think your are missing something.

When I say "row", I don't mean @rows. I mean the row of a spreadsheet.

The code snippet shows how to write cell content into rows into the spreadsheet.

You usually would use a google spreadsheet populated though a google form.

Then you would compile the data and transform it into something else (charts, spreadsheets etc..).

Therefore, one of the main thing you need to do is read the content of a google spreadsheet.

The code here directly populates a @rows variable with random data to write into the spreadsheet.

My need is to start with an empty @rows variable and populate it from an existing spreadsheet.

I am actually discussing with the author of the module and he's integrating such example in the next delivery !!! He understands the need.

I'll update the thread with the example form the author.

Thanks!
  • Comment on Re^2: Net::Google::Spreadsheets::V4 usage

Replies are listed 'Best First'.
Re^3: Net::Google::Spreadsheets::V4 usage
by Marshall (Canon) on Aug 25, 2021 at 07:03 UTC
    Ok. I tried to play with this a bit more. Geez, even installing Net::Google:Spreadsheets::V4 took some work! I ran into a failed Furl installation dependency and had to back up 5 versions to Furl-3.08. Then I tripped across the issue at Perl Google Sheets API Install Problems. I did manage to create a Google Client_id and Secret, but for the moment have given up because I have some other work in progress. Evidently I have to spend some more time learning about the Google App eco-system.

    However, this example appears to be what you want:
    I can't run this critter myself, you hopefully you can.

    #!/usr/bin/env perl use strict; use warnings; use 5.010_000; use utf8; binmode STDOUT, ":encoding(utf8)"; use FindBin; use lib $FindBin::Bin . '/../lib'; use Net::Google::Spreadsheets::V4; use URI::Escape; my $gs = Net::Google::Spreadsheets::V4->new( client_id => "YOUR_CLIENT_ID", client_secret => "YOUR_CLIENT_SECRET", refresh_token => "YOUR_REFRESH_TOKEN", spreadsheet_id => "YOUR_SPREADSHEET_ID", ); my($content, $res); my $title = 'My sheet'; my $sheet = $gs->get_sheet(title => $title); # read data ($content, $res) = $gs->request( GET => sprintf("/values/%s", uri_escape($gs->a1_notation( sheet_title => $title, ))) ); for my $row (@{ $content->{values} }) { say join(', ', @$row); } exit;
    PS: If I were messing with this, I'd run Data::Dumper on $sheet,$content and $res and see what those things looks like.
Re^3: Net::Google::Spreadsheets::V4 usage
by bliako (Abbot) on Aug 24, 2021 at 10:18 UTC

    what do you get when get_sheet() is called? What kind of object is this? Does it contain the rows you need?