任务对象

时间:2017-01-24 20:41:00

标签: attask workfront-api

我正在尝试在Task Object上使用markDone操作。我的猜测是这是一个PUT,但我尝试过POST。我还没有尝试使用PUT或POST参数进行GET,接下来我会尝试。但是我宁愿不走这条路。我是Web API的新手,这是我第一次尝试编写与另一个API对话的API,因此可能会遇到问题。我正在使用HttpClient对象并尝试过PostAsync和PutAsync。以下是我目前的情况。

    using (var apiManagementSystem = new HttpClient())
    {
        apiManagementSystem.BaseAddress = new Uri("https://xxxxxxx.preview.workfront.com/attask/api/");
        apiManagementSystem.DefaultRequestHeaders.Clear();
        apiManagementSystem.DefaultRequestHeaders.Add("SessionID", "xxxxxxx");
        HttpContent httpContent = new StringContent("?ID=xxxxxxx&action=markDone&status=CPL");
        HttpResponseMessage responseMessage = apiManagementSystem.PutAsync("Task", httpContent).Result;
    }

即使你不知道上面的代码是否正确,也许你会知道URL是什么或者标题应该是什么。

2 个答案:

答案 0 :(得分:0)

我会尽力帮助,但我主要使用Python和Javascript / Node。关于通过动作标记任务,这将是PUT调用。以下是使用API​​密钥身份验证方法的示例网址。对于会话密钥,您只需切换到sessionID

https://xxx.attask-ondemand.com/attask/api/v6.0/task/582df5e700e6243a8656824931a495b7?apiKey=xxxxxxx&action=markDone

/ task /之后的UID是任务的ID号。

答案 1 :(得分:0)

以下是执行此操作的C#代码

using (var apiManagementSystem = new HttpClient())
{
    apiManagementSystem.BaseAddress = new Uri("https://xxxxxxx.preview.workfront.com/attask/api/");
    apiManagementSystem.DefaultRequestHeaders.Clear();

    HttpContent httpContent = null;
    responseMessage = apiManagementSystem.PutAsync("TASK/TASKIDxxx?action=markDone&apiKey=apikeyxxx", httpContent).Result;

}