From 1c3eb06125daf7ae3ff36b3a0ad9dd4743b8b638 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Mon, 6 Nov 2023 18:32:08 +0100 Subject: [PATCH] Allow gzip encoding when querying the Sheets API. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Doesn't matter all that much (each sheet is 130–150 kB), but is good as a best practice. --- bin/sync.pl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/sync.pl b/bin/sync.pl index af7d50e..7f101dc 100644 --- a/bin/sync.pl +++ b/bin/sync.pl @@ -249,7 +249,8 @@ sub get_spreadsheet_with_title { # See if we have any spreadsheets that match this title. my $start = [Time::HiRes::gettimeofday]; my $response = $ua->get('https://sheets.googleapis.com/v4/spreadsheets/' . $config::sheet_id . '?key=' . $config::gsheets_api_key . '&fields=sheets/properties', - Authorization => 'Bearer ' . $token + Authorization => 'Bearer ' . $token, + Accept_Encoding => HTTP::Message::decodable ); log_timing($start, '/spreadsheets/properties'); my $sheets_json = JSON::XS::decode_json($response->decoded_content); @@ -509,9 +510,11 @@ sub run { # Get the list of all people in the sheet (we're going to need them soon anyway). my $start = [Time::HiRes::gettimeofday]; my $response = $ua->get('https://sheets.googleapis.com/v4/spreadsheets/' . $config::sheet_id . '?key=' . $config::gsheets_api_key . '&ranges=' . $tab_name . '!A4:Z5000&fields=sheets/data/rowData/values/userEnteredValue', - Authorization => 'Bearer ' . $token + Authorization => 'Bearer ' . $token, + Accept_Encoding => HTTP::Message::decodable ); log_timing($start, "/spreadsheets/$tab_name"); + my $main_sheet_json = JSON::XS::decode_json($response->decoded_content); # Update the list of groups we've seen people in. @@ -536,7 +539,8 @@ sub run { $start = [Time::HiRes::gettimeofday]; $response = $ua->get('https://sheets.googleapis.com/v4/spreadsheets/' . $config::sheet_id . '?key=' . $config::gsheets_api_key . '&ranges=Slack-mapping!A5:C5000&fields=sheets/data/rowData/values/userEnteredValue', - Authorization => 'Bearer ' . $token + Authorization => 'Bearer ' . $token, + Accept_Encoding => HTTP::Message::decodable ); log_timing($start, "/spreadsheets/Slack-mapping"); my $mapping_sheet_json = JSON::XS::decode_json($response->decoded_content); -- 2.39.2