atTask c#bulk update返回400 Bad Request Exception

时间:2015-06-26 01:15:46

标签: attask

我一直在尝试使用c#批量更新数据到workfront,但是我的代码已经返回了400个异常。但是,当我在浏览器上使用相同的URL时,它会进行更新,但代码已经返回异常。以下是我的示例代码:

        string fullUrl = "";
        if (!path.StartsWith("/"))
        {
            path = "/" + path;
        }


      fullUrl = url + path + ToQueryString(parameters);

      if (DebugUrls) Console.WriteLine("Requesting: {0}", fullUrl);

      WebRequest request = HttpWebRequest.CreateDefault(new Uri(fullUrl));
      Stream responseStream = null;
      try
      {
            //request.Method = "PUT";
            //request.ContentType = "application/x-www-form-urlencoded";
            WebResponse response = request.GetResponse();

             responseStream = response.GetResponseStream();

            return ReadResponse(responseStream);
      } catch (WebException ex) {

            StreamReader sr = new       StreamReader(ex.Response.GetResponseStream(), true);
            Console.WriteLine(sr.ReadToEnd());
      }

        return ReadResponse(responseStream);


    }

在代码的最后,我的完整网址如下:

  

https://osvtrial.attask-ondemand.com/attask/api/v4.0/user?method=post&sessionID=ca748236a1d6455ca96c01aad74b65a6&updates=[ {\"名称\":\"马克   Johansson \",\" title \":\" Director,Information   技术\" \" EMAILADDR \":\" mjohansson@workday.net \" \"用户名\":\&# 34; mjohansson@workday.net \"}]&安培;用户名= XXXXXX&安培;密码= XXXXX

有人可以帮助解决上述问题吗?在浏览器上使用url作为相同网址传递的方式问题是否正常。

1 个答案:

答案 0 :(得分:0)

您需要提供要更新的用户对象的正确ID。在批量更新的情况下,方法应该不发布。请参阅此link。如果您要更新单个对象,那么您可以使用下面的api调用尝试

创建批量项目

PUT /attask/api/v4.0/proj?updates=[{“name”:”Test_Project_1”},{“name”:”Test_Project_2”}]&method=POST&apiKey=123ab-cxxxxxxxxxxxxxxxxxxxxxxxxxx

更新批量项目

PUT /attask/api/v4.0/proj?method=PUT&updates=[{"ID":"123abcxxxxxxxxxxxxxxxxxxxxxxxxxx","name":"Test_Project_1_ Edit"},{"ID":"123abcxxxxxxxxxxxxxxxxxxxxxxxxxx","name":"Test_Project_2_Edit"}]&apiKey=123abcxxxxxxxxxxxxxxxxxxxxxxxxxx