Использование PowerShell для загрузки данных Google Sheet в локальный CSV — проблемы с учетными данными

#powershell #csv #google-sheets #download

#powershell #csv #google-sheets #Скачать

Вопрос:

Уже несколько месяцев я использую PowerShell скрипт, который автоматически загружает мои Google Sheet данные как CSV . Что-то изменилось около недели назад — файл, возвращаемый скриптом, теперь является html, который направляет меня к моему Gmail логину. Я не уверен, были ли мои учетные данные ранее кэшированы или что-то в этом роде, но я не смог решить эту проблему. Если я щелкну URL вручную, он успешно загрузится в формате CSV (как и ожидалось). Но мне не удалось обновить свой PowerShell скрипт (или что-либо еще), чтобы снова автоматизировать процесс.

Мой PowerShell скрипт:

 $client = new-object System.Net.WebClient
$enddate = (Get-Date).tostring("yyyyMMdd")
$client.DownloadFile("https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXX/export?format=csv"
    ,"C:Users<local_location>"  $enddate  "_File.csv")
 

Комментарии:

1. Понятия не имею, как это работало в первую очередь, tbh. Но одним из способов может быть использование Selenium (может использоваться с PowerShell) для автоматизации всего процесса, включая вход на сайт.

Ответ №1:

Если вы нажмете на ссылку вручную, скорее всего, в вашем браузере появятся некоторые файлы cookie от Google с токеном обновления. Попробуйте открыть ссылку экспорта в окне браузера инкогнито, и вы, скорее всего, увидите тот же HTML-код, который был получен Powershell. Если электронная таблица доступна всем, у кого есть ссылка, тогда сценарий Powershell должен работать. Если это не так, то сценарий PowerShell должен быть авторизован раньше.