1

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

现在,我的模型已经准备好了,我从 explorer 那里得到的预测结果是令人满意的。

现在,当我尝试继续前进(使用 nodeJS)时,我迷路了……我查看了这个库,但无法弄清楚如何在prediction.trainedmodels.predict没有客户端同意屏幕的情况下拨打电话。

4

2 回答 2

1

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

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

  • 转到Google 开发者控制台
  • 单击 API 和身份验证 > 凭据
  • 为服务帐户添加凭据,下载生成的服务帐户的公钥/私钥

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

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

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

使用google API 节点 js lib来更轻松地处理身份验证。

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   
   });
});
于 2015-10-25T14:19:01.907 回答
0

正如您在此处看到的,此调用需要授权,这意味着用户需要将某些范围授予应用程序。

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

于 2015-10-23T20:50:13.750 回答