你好,互联网的人,
我们可以成功使用Google Oauth 2.0 Playground将简单的sql POST插入到FusionTable中,但是当尝试相同的基本HTTPS POST操作时(来自后端系统,另一个浏览器会话,Postman chrome工具,投掷) .it等等,我们总是得到403错误:
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
我很困惑为什么在从其他系统(OAuth游乐场除外)做一个HTTPS帖子时会返回错误?...当我提供一个活动的访问令牌(剪切粘贴的访问令牌)时来自OAuth游乐场)。
OAuth 2.0 Playground中成功运行良好的Request块位于下方(但Access令牌当然已过期):
POST /fusiontables/v1/query?sql=INSERT INTO 1CqwRGEEn4L0gN66JwGvCR5yOI8miNMVijcp4XlE (Name, Age) VALUES ('Forrest', 57) HTTP/1.1
Host: www.googleapis.com
Content-type: application/json
Authorization: Bearer ya29.AHES6ZRr9CkHptvLaYlba_u6wceIh29urI8FjFp8xMP08AcBm2qpHg
这是由几个不同的基于REST的工具生成的直接URL,我试图模拟用于对FusionTables执行POST sql插入的HTTPS请求(再次:即使使用活动的Access令牌也会生成403错误):
https://www.googleapis.com/fusiontables/v1/query?sql=INSERT%20INTO%201CqwRGEEn4L0gN66JwGvCR5yOI8miNMVijcp4XlE%20(Name,%20Age)%20VALUES%20('Jim',%2057)=&Content-length:=0&Content-type:%20=application/json&Authorization:=%20Bearer%20ya29.AHES6ZRr9CkHptvLaYlba_u6wceIh29urI8FjFp8xMP08AcBm2qpHg
其他一些说明: - 在我的Google API控制台中,我使用的是“Web应用程序的客户端ID”。
- 我使用Api控制台电子邮件地址更新了FusionTable属性,以允许上述sql中使用的fusiont表上的编辑功能(1CqwRGEEn4L0gN66JwGvCR5yOI8miNMVijcp4XlE)Odi for Service帐户建议将编辑功能的电子邮件添加到FusionTable属性关于FusionTables的另一篇相关文章。)
任何帮助解释为什么HTTPS Post在OAuth游乐场中为sql插入到FusionTables工作,但在其他任何地方都不会受到赞赏...肯定会有一些我不知道的东西,因为据说OAuth游乐场是帮助的阐明OAuth如何在详细级别上工作,以便我们可以处理其他系统,而这些系统不一定具有已开发的OAuth库。
根据建议的答案更新8/23 ...这是一个在POSTMAN中有效的URL语法,同时使用OAuth API密钥和使用OAuth游乐场获取的活动访问令牌(访问令牌当然是伪造的/过期)。
https://www.googleapis.com/fusiontables/v1/query?sql=INSERT%20INTO%201CqwRGEEn4L0gN66JwGvCR5yOI8miNMVijcp4XlE%20(Name,%20Age)%20VALUES%20('Bob',%2031)=&Content-length:=0&Content-type:%20=application/json&key={OAuth API key}&access_token=ya29.AHES6ZST_c2CjdXeIyG8LwkprQMGGfoW45sonX0d1H51234
答案 0 :(得分:1)
尝试将您的API密钥添加到POST。即使该消息涉及身份验证,我也非常确定它不是OAuth身份验证,但您的API使用情况需要进行验证。