如何直接使用Google工作表REST API创建工作表

时间:2018-02-22 01:11:29

标签: google-oauth google-sheets-api

我有一个PHP应用程序,遗憾的是,它已经使用了1.1.4版本的Google Client API,我无法更改,这使得我的PHP PHP表格API的2.X版本无法使用。

但是,我希望能够直接使用Google表格REST API,进行自己的卷曲调用(如果有趣的话,使用Guzzle)。

我是谷歌API的新手,我已经完成了他们的文档,但我还没有弄清楚如何做一些基本的事情。

出于这个问题的目的,我想通过API从POSTman等工具中创建一个新的Google电子表格。

我知道我首先必须通过https://www.googleapis.com/auth/spreadsheets获取OAuth2令牌。问题是我无法弄清楚要通过这个电话的内容。我假设它需要一个GET,因为POST返回一个错误,说方法不可用。

获得该令牌后,如何在发送到https://sheets.googleapis.com/v4/spreadsheets

时使用该令牌

有人可以提供一个非常基本的调用,我可以直接创建一个非常基本的默认电子表格吗?

或者我认为这一切都错了?所有帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

这是官方spreadsheets.create参考。这是Sheets API Samples的列表。我建议您保留当前正在使用的版本并使用PHP Quickstarts,这样您就可以掌握其工作原理。

答案 1 :(得分:1)

如果您已有OAuth2访问令牌,则可以在“授权”标题中传递它:

 curl -L -d '{}' \
 -H "Authorization: Bearer <INSERT ACCESS TOKEN HERE>" \
 -H 'Content-Type: application/json' \
 https://sheets.googleapis.com/v4/spreadsheets

我刚刚验证了curl命令会创建一个新工作表。

不幸的是,正如您已经指出的那样,这可能是一个简单的部分, 获取 OAuth2访问令牌更具挑战性。

这是我有时使用的一种(相对痛苦的,不幸的)方法:

您应首先在API控制台或Cloud Platform控制台中创建自己的项目,并根据您自己的OAuth2客户端ID和客户端密钥对其进行配置。

接下来,只需在https://developers.google.com/oauthplayground/的Google OAuth2开发者游乐场玩游戏,就可以在“OAuth 2.0配置”下设置您的客户端ID和客户端密码(这是设置图标 - 右上角的小装备)。在您选中“使用您自己的OAuth凭据”之前,将隐藏输入这些内容的位置。然后,您可以按照左侧的步骤获取范围为https://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/drive的访问令牌。

如需更多游戏,您可以在步骤3中构建POST,或者使用上面curl命令中步骤2的访问令牌。

祝你好运 - 让auth部件正确是一件非常棘手的事情。有很多活动部件,我只是在这里说明高点。

关于图书馆问题的悲剧 - PHP Quick Start似乎相对干净地处理了auth。

答案 2 :(得分:0)

这不会令人满意,但在与它斗争一段时间后,我想看看我是否可以违背我的问题的前提:我无法升级到最新的Google表格PHP API。

事实证明有一种方法。这使得所有这一切变得更加容易。

谷歌的文档令人沮丧地不完整,但无论如何我设法让它全部正常工作。你们两个都给了我关键指针。谢谢你的帮助。