Node.js 谷歌预测API 1.6版-如何进行服务器到服务器的调用?

Node.js 谷歌预测API 1.6版-如何进行服务器到服务器的调用?,node.js,oauth-2.0,google-api,server,google-prediction,Node.js,Oauth 2.0,Google Api,Server,Google Prediction,我正在试验谷歌预测API V1.6。我遵循了这一部分,并使用创建了一个模型 现在,我的模型准备好了,我从探险者那里得到的预测结果令人满意 现在当我尝试前进(使用nodeJS)时,我迷路了。。。我已经看过了,但不知道如何在没有客户端同意屏幕的情况下调用prediction.trainedmodels.predict。如您所见,此调用需要授权,这意味着用户需要向应用程序授予某些范围 这是无法绕过的,因此在没有同意屏幕的情况下,没有真正的方法获得授权方法。面临同样的问题,以下是我的发现: 1您需要创建

我正在试验谷歌预测API V1.6。我遵循了这一部分,并使用创建了一个模型

现在,我的模型准备好了,我从探险者那里得到的预测结果令人满意

现在当我尝试前进(使用nodeJS)时,我迷路了。。。我已经看过了,但不知道如何在没有客户端同意屏幕的情况下调用
prediction.trainedmodels.predict

如您所见,此调用需要授权,这意味着用户需要向应用程序授予某些范围


这是无法绕过的,因此在没有同意屏幕的情况下,没有真正的方法获得授权方法。

面临同样的问题,以下是我的发现:

1您需要创建一个服务帐户

  • 单击API&auth>Credentials
  • 添加服务帐户的凭据,下载生成的服务帐户的公钥/私钥
建议:您的应用程序可以通过以下方式完成这些任务: 为您的语言使用Google API客户端库,或直接 使用HTTP与OAuth 2.0系统交互。但是, 服务器到服务器身份验证交互的机制需要 用于创建JSON Web令牌并对其进行加密签名的应用程序 (JWTs),并且很容易犯严重错误,从而造成严重后果 对应用程序安全性的影响

因此,我们强烈鼓励您使用库,例如 谷歌API客户端库,将加密技术抽象出来 从您的应用程序代码

  • 在服务器代码中,应遵循以下步骤
    • 创建一个JSON Web令牌(JWT,发音为“jot”),它包括一个头、一个声明集和一个签名
    • 从Google OAuth 2.0授权服务器请求访问令牌
    • 处理授权服务器返回的JSON响应
  • 使用可更轻松地处理身份验证

    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   
       });
    });