如何在PHP中访问Google电子表格API


How do I access the Google Spreadsheets API in PHP?

从Google Spreadsheets API上的Google Developer文档开始,我发现"许多客户端库都是用各种语言提供的。"但Google只提供Java和.NET的客户端库。对于PHP库,他们建议使用Zend GData。因此,我查看了ZendGData回购,Zend说他们的GData组件已经停产,并使用GoogleAPI客户端库进行PHP。该库不适用于电子表格API,因此您必须返回到我开始使用的原始页面。

所以,似乎每个人都在推卸责任。我只需要写一些PHP代码,从谷歌电子表格中请求和处理数据。我该怎么做?请不要在没有检查以确保它们100%最新的情况下将我链接到类似的帖子或页面,我已经在一大堆帖子中筛选了好几个小时,这些帖子都充满了过时和不推荐使用的依赖项。

您可以使用PHP Google电子表格客户端库。

您还需要使用Google API Client Library for PHP来通过OAuth2进行身份验证。开发人员文档链接在github页面上。

感谢这个页面上的提示和链接,我想分享我最终在php中阅读谷歌电子表格的过程。您可以访问json格式的电子表格,不需要使用api或zend框架或gdata库。PhP可以非常容易地处理json,它是我能找到的最整洁的解决方案,因为它不依赖于任何第三方库。

这里有一个示例链接,用于获取json格式的电子表格。

https://spreadsheets.google.com/feeds/list/key/1/public/full?alt=json

请注意,如果电子表格是私人的,您仍然需要按照身份验证步骤来获取访问页面的令牌。就我而言,电子表格是公开的。

您还可以通过提要列表或基于单元格的方式访问电子表格(用单元格替换url中的列表

您可以在浏览器中尝试该链接,然后查看json结果。

(2016年8月)

从今年五月开始,你现在有了一个更好的解决方案。。。

不再推卸责任:

  1. GDataAPI(以及ZendGData)是上一代GoogleAPI。虽然不是所有的GData API都被弃用,但所有更新的谷歌API都不使用谷歌数据协议
  2. 有一个"新的"谷歌表单API v4(不是GData])。为了使用新的Sheetsneneneba API,您需要获得适用于PHP的GoogleAPI客户端库,正如其他人已经说明的那样。最新的API比以前的API更加强大和灵活。这里有一个代码示例可以帮助您入门。如果你对Python不"过敏",我还制作了一个视频,其中有一个不同的,稍长的例子介绍了API,并通过一篇你可以学习的博客文章深入了解代码

请注意,表单API允许您创建电子表格&工作表,上传&下载数据,以及,在一般意义上,以编程方式访问工作表,就像您使用用户界面一样(创建冻结行、执行单元格格式设置、调整行/列大小、添加数据透视表、创建图表等),但要执行文件级访问,如上传&下载,导入&导出(与上传和下载相同,但转换为Google应用程序格式),您将使用Google Drive API。