如何向 Google API 发出经过认证的 RESTful oAuth 2 后端请求

How to make certified RESTful oAuth 2 backend requests to Google API

本文关键字:RESTful oAuth 请求 后端 认证 经过 Google API      更新时间:2023-09-26

我需要对 Google Prediction API 进行后端 oAuth 2 REST 调用,在 node.js 中工作,但我对有关进行正确 oAuth 调用的文档感到非常困惑(后端因此没有 Web 流身份验证流(:

请求如下所示:

GET https://www.googleapis.com/prediction/v1.6/projects/989280437849/trainedmodels/list?maxResults=5&pageToken=1&key={YOUR_API_KEY}

标题如下所示

授权:不记名 雅29.AHES6ZSyB5W2gp4GfmZIGrVHLyisJB9hCbNLW3mj5rs0Oqg X-JavaScript-User-Agent: Google APIs Explorer

oAuth文档在这里,说我需要一个"服务帐户":https://developers.google.com/accounts/docs/OAuth2?csw=1

这里 https://developers.google.com/accounts/docs/OAuth2ServiceAccount

我应该设置哪种 oAuth 令牌? http://screencast.com/t/1vXjCgnyCuU2

我以为是"服务器密钥",但文档说预测 API 需要以用户身份登录,而服务器密钥说"使用它从服务器访问与帐户无关的数据">

我认为我应该使用"证书"选项 http://screencast.com/t/4sL1WTjxqp

但是我不知道如何处理证书。即使我知道,我仍然没有 API 密钥(或者我会吗?(,这是 REST 调用似乎想要的。大概我需要以某种方式签署请求并在标头中提交哈希。

有关如何逐步执行此操作的任何帮助将不胜感激。

我在这里找到了答案:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount

和这里

https://github.com/extrabacon/google-oauth-jwt

我使用并推荐Passport.js。 他们很好地记录了它,并且它也很好地扩展到其他提供商。

(请务必在 Google 开发者控制台中注册应用的网址和回传。