WorkFront(AtTask)API - 为项目创建新基线

时间:2017-04-06 18:22:56

标签: attask workfront-api

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

例如,当我使用WorkFront UI创建基线时,如果我在chrome中打开devtools / Network,我可以看到对attask/api-internal/BLIN有一个POST请求,从我可以看到请求应该看起来像这与参数: 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密钥附加到包含...&apiKey=<API_KEY>

的网址,则会收到相同的消息

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

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

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

1 个答案:

答案 0 :(得分: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提交。