如何在PHP中访问Google Spreadsheets API?

时间:2013-12-05 18:14:53

标签: php google-api google-api-php-client google-sheets-api

从Google Developer documentation on the Google Spreadsheets API开始,我发现“许多客户端库都以各种语言提供。”,但Google仅提供Java和.NET的客户端库。对于PHP库,他们建议使用Zend GData。所以,我走过Zend GData repo,Zend说他们的GData组件已停止使用,并使用Google APIs Client Library for PHP。该库不适用于Spreadsheets API,因为您必须返回我开始使用的原始页面。

所以,似乎每个人都在推卸责任。我只需要编写一些PHP代码来请求和处理来自Google电子表格的数据。我怎么做?请不要将我链接到类似的帖子或页面而不检查以确保它们是100%最新的,我一直在筛选大量的帖子几个小时,这些帖子都是过时的和已弃用的依赖项。

3 个答案:

答案 0 :(得分:11)

您可以使用PHP Google Spreadsheet Client library

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

答案 1 :(得分:6)

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

以下是以json格式获取电子表格的示例链接。

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

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

您也可以通过Feed列表或基于单元格访问电子表格(将网址中的列表替换为单元格

您可以在浏览器中尝试链接并查看json结果。

答案 2 :(得分:2)

(2016年8月)截至今年5月,您现在有了更好的解决方案......不再贬低:1)GData APIs(因此Zend GData)是上一代Google API。虽然并非所有GData API都已弃用,但all newer Google APIs 使用the Google Data protocol。 2)有一个"new" Google Sheets API v4(不是GData)。要使用新的Sheets API,您需要获得其他人已经说明的the Google APIs Client Library for PHP。最新的API比以前的API更强大,更灵活。这里有一个code sample来帮助您入门。如果您对Python不“过敏”,我还使用不同的制作了a video,稍微长一点的示例介绍了API,并深入探讨了 您可以通过a blogpost学习的代码。

注意Sheets API允许您创建电子表格&床单,上传和下载数据,以及在一般意义上,以编程方式访问工作表,就像使用用户界面一样(创建冻结行,执行单元格格式化,调整行/列大小,添加数据透视表,创建图表等),但是执行文件级访问,例如上传和下载,进口和导出(与上传和下载相同,但转换为/从Google Apps格式转换),您可以使用Google Drive API代替。