1

我试图在我的流星应用程序中使用 th AlchemyAPI 获得一段文本的情感。我按照 API 的建议使用带有“POST”的 HTTP.call 来进行服务器到服务器的调用,但我收到了“invalid-api-key”响应。

var alchemyURL = Meteor.settings.alchemyUrl;
var postData = {
  'apikey': Meteor.settings.alchemyUrl,
  'text': txt,
  'outputMode': 'json'
};
var options = {
  data: postData
};

var sentimentData = HTTP.call('POST', alchemyURL, options);

console.log(sentimentData);

我已经找到了答案,因此将其发布在下面。

4

1 回答 1

3

事实证明,需要为 Meteor 的 HTTP 包提供用于在数据上实现表单 url 编码的标头。此外,数据对象需要在“参数”中传递,而不是在“数据”中。下面给出了要使用的正确片段。

var alchemyURL = Meteor.settings.alchemyUrl;
var postData = {
  'apikey': Meteor.settings.alchemyUrl,
  'text': txt,
  'outputMode': 'json'
};
var options = {
  params: postData,
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  } 
};

var sentimentData = HTTP.call('POST', alchemyURL, options);

console.log(sentimentData);
于 2016-03-18T09:19:26.207 回答