使用浏览器REST客户端在例如
上POST到活动流https://connectionsww.demos.ibm.com/connections/opensocial/basic/rest/activitystreams/@me/@all
...使用IBM Connections OpenSocial API > POSTing new events
中规定的设置...导致以下回复:
<error xmlns="http://www.ibm.com/xmlns/prod/sn">
<code>403</code>
<message>You are not authorized to perform the requested action.</message>
<trace></trace>
</error>
我错过了什么?
这种方法在IBM Connections 4.0上运行良好。
哪个设置需要'开启'?
答案 0 :(得分:1)
尝试这样的网址... https://sbtdev.swg.usma.ibm.com:444/connections/opensocial/basic/rest/activitystreams/@me/@all
我添加了Basic / Rest组件,它对我有用。
1 - 添加了网址https://sbtdev.swg.usma.ibm.com:444/connections/opensocial/basic/rest/activitystreams/@me/@all
2 - 将方法更改为发布
3 - 添加了Content-Type:application / json
4 - 认证 - &gt;基本
5 - 登录
6 - 发表
答案 1 :(得分:0)
同样的事情:403当我对IBM Connections 6.0 REST API URL进行AJAX调用时。 Chrome,Firefox和IE11中的错误相同。当我在单独的浏览器选项卡中打开相同的URL时,一切正常。
比较两个调用的http标头和摆弄Postman,差异是属性Origin
的存在和值。
似乎Connections允许来自其自己的服务器的呼叫。例如,时间:Origin: connections.mycompany.com
。
它还允许在未定义Origin
时进行调用,这在从单独的浏览器选项卡调用url时会发生。
IBM支持网站上有一个文档证实了这一点 - http://www-01.ibm.com/support/docview.wss?uid=swg21999210。它还为我提供了一个解决方法:取消设置Connections实例前面的IBM HTTP Server中的Origin
属性。将以下行添加到httpd.conf
文件中:
Header unset Origin
RequestHeader unset Origin