Perl: Using Net::Google::Spreadsheets gives error in libxml -


i trying use perl google spreadsheet api , getting stuck in error. did per doc @ http://search.cpan.org/~danjou/net-google-spreadsheets-0.1501/lib/net/google/spreadsheets.pm

here code

use net::google::spreadsheets; use net::google::dataapi::auth::oauth2; use net::oauth2::accesstoken;  $oauth2; $service;  $oauth2 = net::google::dataapi::auth::oauth2->new(   client_id => '<clientid>',   client_secret => '<client secret>',   scope => ['http://spreadsheets.google.com/feeds/'], );  $url = $oauth2->authorize_url(      access_type => 'offline',      approval_prompt => 'force', );  print "$url\nenter code: "; $code = <stdin>; $access_token = $oauth2->get_access_token($code) or die;  $service = net::google::spreadsheets->new(auth => $oauth2);  print "testing spreadsheet"; # find spreadsheet key $spreadsheet = $service->spreadsheet( { key => '<spread sheet key>' }) or die $!; 

it not throw error during oauth when try access spreadsheet api gives me following error.

use of uninitialized value $nsuri in string eq @ /usr/local/lib/perl5/site_perl/5.14.2/mach/xml/libxml.pm line 1705. @ /usr/local/lib/perl5/site_perl/5.14.2/mach/xml/libxml.pm line 1699. xml::libxml::element::getelementsbytagnamens(xml::libxml::element=scalar(0x80416ed20), undef, "entry") called @ /usr/local/lib/perl5/site_perl/5.14.2/xml/atom/feed.pm line 84 xml::atom::feed::entries_libxml(xml::atom::feed=hash(0x8041938e8)) called @ /usr/local/lib/perl5/site_perl/5.14.2/net/google/dataapi.pm line 113 net::google::spreadsheets::spreadsheets(net::google::spreadsheets=hash(0x803045600), hash(0x802a5cb70)) called @ /usr/local/lib/perl5/site_perl/5.14.2/net/google/spreadsheets.pm line 57 net::google::spreadsheets::anon(code(0x803020438), net::google::spreadsheets=hash(0x803045600), hash(0x802a5cb70)) called @ /usr/local/lib/perl5/site_perl/5.14.2/mach/mouse/meta/class.pm line 381 mouse::meta::class::anon(net::google::spreadsheets=hash(0x803045600), hash(0x802a5cb70)) called @ /usr/local/lib/perl5/site_perl/5.14.2/mach/mouse/meta/class.pm line 334 net::google::spreadsheets::spreadsheets(net::google::spreadsheets=hash(0x803045600), hash(0x802a5cb70)) called @ /usr/local/lib/perl5/site_perl/5.14.2/net/google/dataapi.pm line 132 net::google::spreadsheets::spreadsheet(net::google::spreadsheets=hash(0x803045600), hash(0x802a5cb70)) called @ try.pl line 62

for having same problem here solution.

looks between time when module written , today google has changed api documentation of module needs modified.

by changing key => 'the key' id => 'the key' solved problem.

so correct way spreadsheet

my $spreadsheet = $service->spreadsheet( { id => '<spread sheet key>' }) or die  $!; 

the key part of url https://docs.google.com/spreadsheets/d/[spreadsheetkey]/edit


Comments