我有一个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
有人可以提供一个非常基本的调用,我可以直接创建一个非常基本的默认电子表格吗?
或者我认为这一切都错了?所有帮助表示赞赏。
答案 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/spreadsheets和https://www.googleapis.com/auth/drive的访问令牌。
如需更多游戏,您可以在步骤3中构建POST,或者使用上面curl命令中步骤2的访问令牌。
祝你好运 - 让auth部件正确是一件非常棘手的事情。有很多活动部件,我只是在这里说明高点。
关于图书馆问题的悲剧 - PHP Quick Start似乎相对干净地处理了auth。
答案 2 :(得分:0)
这不会令人满意,但在与它斗争一段时间后,我想看看我是否可以违背我的问题的前提:我无法升级到最新的Google表格PHP API。
事实证明有一种方法。这使得所有这一切变得更加容易。
谷歌的文档令人沮丧地不完整,但无论如何我设法让它全部正常工作。你们两个都给了我关键指针。谢谢你的帮助。