【问题标题】:Why am I getting 'invlid-api-key' from AlchemyAPI while using HTTP.call in meteorjs?为什么我在meteorjs中使用HTTP.call时从AlchemyAPI获得'invalid-api-key'?
【发布时间】:2023-03-29 13:04:01
【问题描述】:

我正在尝试在我的流星应用程序中使用 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);

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

【问题讨论】:

    标签: meteor ibm-watson alchemyapi


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 2021-10-23
      • 2021-10-03
      • 2015-09-11
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多