bluemix中部署的节点实例中的csrf令牌

时间:2016-11-03 21:54:42

标签: node.js ibm-cloud csrf alchemyapi

您好我使用了本页右上角的deploy to bluemix按钮

https://alchemy-language-demo.mybluemix.net/?cm_mc_uid=69990450306114782046823&cm_mc_sid_50200000=1478206651

创建Alchemy语言节点服务器。它运行正常 -

https://alchemylanguage-nodejs-encekxdev-216.mybluemix.net/

但是当我尝试使用邮递员发帖时,我得到了响应'内部服务器错误'。

检查服务器日志,似乎用

响应请求
  

代码:' EBADCSRFTOKEN',错误:'无效的csrf代币'

即使我尝试从网站的网页版本发送csrf,它仍然无法正常工作。

我觉得我在服务器的配置中遗漏了一些东西,但不知道是什么。我对服务器等不太好,如果这是超级基本的话,对不起。

编辑 - 我应该提到我也尝试在请求中发送一个apikey,我从仪表板上的炼金术服务位中的服务凭证部分获得了但是发生了相同的错误。

EDIt - 我正在调用的API看起来像这样:

  

POST https://alchemylanguage-nodejs-encekxdev-216.mybluemix.net/api/keywords

带标题的

  

text:'这是我制作的一些虚拟文字'

我也尝试在标题中添加apikey。

感谢。

1 个答案:

答案 0 :(得分:1)

您没有POST您的应用程序,您必须POST到API。 以下是API URL和各种示例的链接:

http://www.ibm.com/watson/developercloud/alchemy-language/api/v1

例如,以下是关键字的curl请求:

curl -X POST \ -d "outputMode=json" \ -d "url=http://www.twitter.com/ibmwatson" \ "https://gateway-a.watsonplatform.net/calls/url/URLGetRankedKeywords?apikey=$API_KEY"

确保在运行上述命令之前将$API_KEY导出到您的环境中。您可以在Bluemix中创建的AlchemyAPI实例中找到$API_KEY