0

是否可以使用 WorkFront API 通过其 ID 为项目创建新基线?

例如,当我使用 WorkFront UI 创建基线时,如果我在 chrome 中打开 devtools/Network,我可以看到有一个 POST 请求attask/api-internal/BLIN,从我可以看到该请求应该类似于以下参数: https://<COMPANY>.attask-ondemand.com/attask/api-internal/BLIN/fields=["objCode","ID","projectID","name","isDefault"]&method=post&updates={"objCode":"BLIN","ID":"","projectID":"<PROJECT_ID>","name":"NEW_BASELINE","isDefault":false}

所以我尝试过使用 Postman 并得到回复

"error": {
    "class": "com.attask.common.AuthenticationException",
    "message": "You are not currently logged in"
}

如果我将 API 密钥附加到 URL,我会收到相同的消息...&apiKey=<API_KEY>

从那里我尝试登录以获取会话 ID,然后我混合并匹配将 sessionID 和 apiKey 添加到 URL 的末尾等。当我使用 sessionID 时,出现以下错误:

"error": {
    "class": "java.lang.IllegalArgumentException",
    "message": "method POST is not allowed for authorization type COOKIE"
}

我可能做错了什么?这甚至可以使用API​​实现吗?

4

1 回答 1

1

你几乎一路走到了那里。您不需要传递这些字段,因为它们是在您传递更新时隐式定义的。这应该适合你:

https://<domain>.my.workfrontcom/attask/api/v6.0/BLIN?updates={"objCode":"BLIN","ID":"","projectID":"<projectID>","name":"<baseline name>","isDefault":false}&apiKey=<api key>

确保将其作为 POST 提交。

于 2017-04-06T20:14:57.410 回答