使用 PowerShell 将 Google Sheet 数据下载到本地 CSV - 凭据问题
Using PowerShell to Download Google Sheet Data to Local CSV - Credential Issues
几个月来,我一直在使用 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")
如果您手动单击 link,您的浏览器可能会从 Google 获得一些带有刷新令牌的 cookie。尝试在隐身浏览器 window 中打开导出 link,您可能会看到与 Powershell 收到的相同的 HTML。如果电子表格与 link 的任何人共享,那么 Powershell 脚本应该可以工作。如果不是,则需要先授权 PowerShell 脚本。
几个月来,我一直在使用 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")
如果您手动单击 link,您的浏览器可能会从 Google 获得一些带有刷新令牌的 cookie。尝试在隐身浏览器 window 中打开导出 link,您可能会看到与 Powershell 收到的相同的 HTML。如果电子表格与 link 的任何人共享,那么 Powershell 脚本应该可以工作。如果不是,则需要先授权 PowerShell 脚本。