【问题标题】:Prediction request end up with "invalid data" errors预测请求以“无效数据”错误结束
【发布时间】:2015-05-30 04:53:26
【问题描述】:

我在发布预测请求时遇到错误,但是从在线界面(来自 Google 的 API 参考页面)发布相同的请求时效果很好。 我还在 Git 存储库上发布了一个新问题,但似乎没有人关注这些问题。谷歌多么蹩脚!!

我正在发布预测请求,如下所示:

var parameters = {
auth: jwtClient,
project: googleProjectID,
id: 'interest_classifier',
input: {
csvInstance: ["country united states", "/location/location"]
}
};
return prediction.trainedmodels.predict(parameters, function(err, response) {
if (err) {
logger.info(null, "prediction err ", err);
}
logger.info(null, "response from predict ", response);
return callback(null, response);
});

我明白了:

err { [Error: Input data invalid.]
code: 400,
errors:
[ { domain: 'global',
reason: 'invalidValue',
message: 'Input data invalid.' } ] }

澄清一下:我的训练模型包含一个值和两个文本特征。 同样,当从在线工具(客户端)运行它时,它运行良好,只有当我从我的 node.js 服务器运行它时,它才会失败。

那是怎么回事?有谁知道? 这可能是一些编码问题吗?请求标头?

编辑:

这就是我的身份验证方式:

var   jwtClient = new google.auth.JWT('*****@developer.gserviceaccount.com', 'keys/key.pem', null, ['https://www.googleapis.com/auth/prediction']);

  jwtClient.authorize(function(err, tokens) {
    logger.info(null, "authorizing");
    if (err) {
      logger.info(null, "error ", err);
    } else {
      return logger.info(null, "authenticated ", tokens);
    }
  });

【问题讨论】:

    标签: google-api-nodejs-client


    【解决方案1】:

    好的,

    所以我深入研究了 Google 的代码,发现了一个没有正确记录的重要细节。

    我认为这可能与使用此库的其他人有关,而不仅仅是使用 google predict 的人。

    所以大多数请求都需要在参数中包含项目 ID,但在某些情况下,您还需要包含发布数据(如我的情况)。 我试图将这个帖子数据直接包含在参数中,如下所示:

    var parameters = {
    auth: jwtClient,
    project: googleProjectID,
    id: 'interest_classifier',
    input: {
    csvInstance: ["country united states", "/location/location"]
    }
    };
    

    现在我发现(这没有记录!!)属于帖子数据的整个部分应该包含在“资源”字段中,如下所示:

    var parameters = {
    auth: jwtClient,
    project: googleProjectID,
    id: 'interest_classifier',
    resource:{
    input: {
    csvInstance: ["country united states", "/location/location"]
    }
    }
    };
    

    我相信这将与任何包含发布数据的请求相关。 干杯, 宜兰

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 2018-10-14
      • 2019-05-10
      • 2013-05-14
      • 2019-03-10
      • 2013-09-15
      相关资源
      最近更新 更多