尝试将已发布的表单文档下载为多个CSV文件时,我只能检索第一个工作表。我宁愿代码是自包含的而不使用Google API。这可能吗?
答案 0 :(得分:0)
可以,但您需要将文档作为Feed提取,以便收集工作表ID。
$document = "<Google_Sheets_Document_Id>"
$ns = @{n="http://www.w3.org/2005/Atom"}
$feedXml = [xml](Invoke-WebRequest -Uri "https://spreadsheets.google.com/feeds/worksheets/$document/public/full").Content
$entries = Select-Xml -Xml $feedXml -Namespace $ns -XPath "/n:feed/n:entry"
foreach ($e in $entries)
{
$href = Select-Xml -Xml $e.Node -XPath "n:link[@type='text/csv']/@href" -Namespace $ns
$query = ([System.Uri]"$($href.Node.Value)").Query.Replace("format", "output")
$e.Node.title #Sheet title
"https://docs.google.com/spreadsheets/d/$document/pub$query" #Sheet URL
}
这将下载Atom供稿并从XML文档中检索各个CSV文件的工作表标题和URL。