谷歌预测API v1.6 – 如何让服务器到服务器调用?

我正在试用谷歌预测API V1.6。 我已经按照入门部分,并使用资源pipe理器API创build一个模型。

现在,我的模型已经准备就绪,我从资源pipe理器得到的预测结果是令人满意的。

现在当我试图向前移动(使用nodeJS),我迷路了…我已经看了这个库,但不知道如何在没有客户端同意的情况下打电话给prediction.trainedmodels.predict屏幕。

面对同样的问题,这里是我发现:

1您需要创build一个服务帐户。

  • 转到Google开发者控制台
  • 点击API&auth>凭证
  • 为服务帐户添加凭证,下载生成的服务帐户的公钥/私钥

build议:您的应用程序可以通过使用适用于您的语言的Google API客户端库,或使用HTTP直接与OAuth 2.0系统进行交互来完成这些任务。 但是,服务器到服务器身份validation交互的机制要求应用程序创build并encryption签名JSON Web Tokens(JWT),并且容易造成严重错误,从而严重影响应用程序的安全性。

出于这个原因,我们强烈build议您使用库,比如Google API客户端库,将应用程序代码中的密码术抽象出来。

  1. 在你的服务器代码中,你应该遵循这个步骤
    • 创build一个JSON Web Token(JWT,发音为“jot”),其中包括标题,声明集和签名。
    • 从Google OAuth 2.0授权服务器请求访问令牌。
    • 处理授权服务器返回的JSON响应。

使用google API节点js lib来处理auth更简单。

 var key = require('path/to/key.json'); var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, [scope1, scope2], null); jwtClient.authorize(function(err, tokens) { if (err) { console.log(err); return; } // Make an authorized request to list Drive files. drive.files.list({ auth: jwtClient }, function(err, resp) { // handle err and response }); }); 

正如你在这里看到的,这个调用需要授权,这意味着用户需要给应用程序授予一定的范围。

这不能被绕过,所以没有一个没有同意屏幕的授权方法没有真正的方法。