【发布时间】:2014-05-14 05:02:56
【问题描述】:
我正在尝试通过 php 访问 google 电子表格(通过在链接中添加 &output=csv)似乎 google 不再需要这个,这是正确的吗?我尝试了file_get_contents(是的,allow_url_fopen 已打开),导致错误。使用 CURL 时,即使设置了有效的用户代理(我使用了 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13),我也会收到文件已临时移动的通知。我使用的链接适用于从浏览器访问电子表格。我尝试在谷歌文档中将电子表格设置为公开,但无济于事。
建议的解决方案 here、here 和 here 似乎不再起作用。如果谷歌不希望我这样做,我不会继续尝试,但我没有找到任何支持它的东西。在某些页面的 cmets 中,我读到了一些关于 gData ZendFramework 的内容,但想避免任何未部署到标准 LAMP 服务器的内容。
PS:我并不是想通过窃取他们的带宽来滥用谷歌。我为 csv 文件编写了一个转换脚本,除了文件上传以进行转换之外,我还希望与 google docs 链接集成。
【问题讨论】:
-
电子表格是否可以公开访问?如果没有,您需要提供身份验证 cookie。此外,当使用
curl时,请使用CURLOPT_FOLLOWLOCATION选项来跟踪重定向。 -
电子表格可以公开访问,当我设置
CURLOPT_FOLLOWLOCATION时,我会被重定向到谷歌登录页面(即使电子表格是公开的)。该链接在隐身窗口中有效,无需登录。
标签: php csv curl google-api google-docs