2017-06-29 52 views
0

我试图从PowerShell的Workfront AtTask API认证错误

查询Workfront REST服务

我使用的是URL这样

https://ourcompany.attask-ondemand.com/attask/api/v4.0/project/search?apiKey=XYZetc

这将返回JSON在IE和Chrome及作品我的Web服务测试人员。

所有这些都显然在公司代理的后面运行。

PowerShell的我现在用的就是

$postResult = Invoke-RestMethod -Uri $URI -Method "GET" -Proxy 
http://internalproxyname:80 -ProxyUseDefaultCredentials 

这失败,错误

{ “错误”:{ “类”: “com.attask.common.AuthenticationException”,“消息“:”你 目前没有登录在“}}

这看起来像在attask到底要不要代理在我们结束一个错误(我得到运行此不同的错误一个非授权用户或传递给代理的凭证凭证

该文档建议如果我使用的是apiKey,则不需要登录。我没有登录我正在使用的浏览器(我甚至没有在工作区实例上的用户帐户)

我已经浏览了各种博客和堆栈的答案无济于事。任何人都可以用正确的方向指出我究竟发生了什么?或者我可能做错了什么。

我已经启用信任所有证书政策,并设置验证回调PowerShell的

,但同样,我与这些关闭,还研究了ServicePointManager各种属性试过这种内忽略。我可以产生任何数量的不同的错误/问题,但最接近我得到的似乎是上述。

哦和Workfront API文档和例子是错误的没有帮助我,当我渐渐开始:-)

千恩万谢

史蒂夫

回答

0

确定这是我太傻了。在生成URI的代码中存在一个错误(一个额外的斜线),并且attask默认错误响应是auth错误而不是错误的请求。

作为参考,URL需要采用我原始文章中显示的形式。不要错过api版本号,并且不要使用端口号,如代码示例所示。

总是寻找简单的事情第一个(我记得)

卫生署!