1

我正在尝试从 PowerShell 查询 Workfront REST 服务

我正在使用这样的网址

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

这会在 IE 和 Chrome 中返回 JSON,并在我的 Web 服务测试器中工作。

所有这一切显然都在公司代理之后运行。

我正在使用的 PowerShell 是

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

这失败并出现错误

{"error":{"class":"com.attask.common.AuthenticationException","message":"您当前没有登录"}}

这看起来像 attask END 上的错误,而不是我们端的代理(我以非身份验证用户身份运行此错误或将错误的凭据传递给代理时遇到不同的错误

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

我搜索了各种博客和堆栈答案,但无济于事。谁能指出我正确的方向来弄清楚发生了什么?或者我可能做错了什么。

我已启用信任所有证书策略并将验证回调设置为在 powershell 中忽略

但同样我已经在这些关闭的情况下尝试了这个,并且还调查了 ServicePointManager 上的各种属性。我可以产生任意数量的不同错误/问题,但我得到的最接近的似乎是上面的。

哦,当我刚开始的时候,错误的 Workfront API 文档和示例对我没有帮助:-)

非常感谢

史蒂夫

4

1 回答 1

0

好吧,这是我愚蠢的。生成 URI(一个额外的斜杠)的代码中有一个错误,并且 attask 默认错误响应是 auth error not mangled request。

作为参考,URL 需要采用我原始帖子中显示的形式。不要错过 api 版本号,也不要使用代码示例显示的端口号。

总是先寻找简单的东西(我应该记住这一点)

嗬!

于 2017-06-29T09:31:01.593 回答