2016-03-18 62 views
1

我想在我的流星應用程序中使用AlchemyAPI獲得一段文本的情感。我按照API的建議使用HTTP.call和'POST'來建立服務器到服務器的調用,但是我得到'invalid-api-key'響應。爲什麼在meteorjs中使用HTTP.call時從AlchemyAPI獲得'invlid-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); 

我已經發現了答案,因此將其發佈在下面。

回答

3

因此,流星的HTTP包需要被賦予頭部以實現對數據的表單url編碼。此外,數據對象需要在'params'中傳遞,而不在'data'中。下面給出了要使用的正確代碼片段。

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); 
相關問題