我正在尝试从 google docs 电子表格中获取数据,我认为这应该可以工作(在此处的另一个类似问题中也看到了类似的代码),但我得到的回复是:
Moved Temporarily
The document has moved here.
链接为here
:
https://www.google.com/a/4playtheband.co.uk/ServiceLogin?service=wise&continue=https://docs.google.com/a/4playtheband.co.uk/spreadsheet/pub?hl%3Den_US%26hl%3Den_US%26key%3D0AuJb1YSvmVn5dGdvUzU2QUJHUGdaTEZNbVI4dVJ6eHc%26single%3Dtrue%26gid%3D0%26output%3Dcsv%26ndplr%3D1&followup=https://docs.google.com/a/4playtheband.co.uk/spreadsheet/pub?hl%3Den_US%26hl%3Den_US%26key%3D0AuJb1YSvmVn5dGdvUzU2QUJHUGdaTEZNbVI4dVJ6eHc%26single%3Dtrue%26gid%3D0%26output%3Dcsv%26ndplr%3D1&hl=en_US&passive=true&go=true
我不知道问题是否与在 Google Apps 中使用的相关文档有关,但我已将电子表格设置为公开,并复制了它在访问时提供的链接并将其Share
导出为 csv。
这是代码:
<?php
$url='https://docs.google.com/a/4playtheband.co.uk/spreadsheet/pub?hl=en_US&hl=en_US&key=0AuJb1YSvmVn5dGdvUzU2QUJHUGdaTEZNbVI4dVJ6eHc&single=true&gid=0&output=csv';
if (($handle = fopen($url, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$totalrows = count($data);
for ($row=0; $row<=$totalrows; $row++)
{
echo $data[$row];
}
}
fclose($handle);
}
?>
如果这可能是一个问题,我实际上是在尝试将获取的数据放在一个面框内,它似乎正在工作,除了实际的电子表格数据没有出现,因为我之前提到的错误消息实际上出现在面框内。
谢谢。
更新 当电子表格是在我的个人谷歌帐户中创建的,而不是我用于谷歌应用程序的帐户中时,代码似乎工作得很好。