尝试创建/更新自定义表单时出错

本文关键字:表单 出错 自定义 更新 创建 | 更新日期: 2023-09-27 18:06:02

我被分配到一个项目上工作,该项目使用任务API从我为我们的内部网构建的web应用程序创建一个问题和伴随的自定义表单。我一直在使用这篇文章,ATTask API -使用API和C Sharp更新自定义字段,作为我完成任务的主要参考。

就像那篇文章一样,我也得到了(500)内部服务器错误,尽管我收到的URL是直接插入浏览器的错误是{"error":{"class":"com.attask.util.json.JSONException","message":"org.codehaus.jackson.JsonParseException: Unexpected character ('S' (code 83)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')'n at [Source: java.io.StringReader@45c828e1; line: 1, column: 6]"}}

我的URL是这样的:

https://myCo.attasksandbox.com/attask/api/v3.0/optask?method=put&projectID=myID&name=API%20SandBox%20Issue&updates={DE:Service%20Affected:Electronic%20Communications,DE:Technical%20Details:I%20dunno,DE:How%20will%20this%20change%20be%20communicated?:It%20wont}&username=myUserName&password=myPassword

我注意到我上面引用的帖子和我的URL之间的一个区别是,另一个帖子的URL正在寻找一个类别id。这是必要的自定义表单工作吗?如果有,我在哪里找到那个ID?(我对一个问题进行了搜索查询,该问题具有我试图生成的自定义形式,但没有返回categoryID)。

顺便说一下,我的搜索查询是这样的:

Console.WriteLine("**Searching for Change Management Issues");
        JToken cmIssues = client.Search(ObjCode.ISSUE, new
        {
            projectID=cmProjID,
            name="SandBox Issue",
            name_Mod="contains",
            fields="parameterValues"
        });
        foreach (JToken issue in cmIssues["data"].Children())
        {
            Console.WriteLine(issue["name"]);
            Console.WriteLine(issue["categoryID"]);
            Console.WriteLine(issue);
        }

我使用了ISSUE &OPTASK ObjCode类型,在categoryID上没有运气

尝试创建/更新自定义表单时出错

尝试删除sessionID。最后你使用你的用户名&密码,你不需要两者。确保你的密码拼写正确。在你的例子中,你拼错了。

如果这不起作用。在发送调用之前,请确保所有空格都被UrlEncode it替换为%20

在最终能够回到这个项目之后,我发现我的问题在于我不熟悉JSON调用。对于这个特殊问题,(在我修复了密码的拼写之后),我收到了错误,因为我既没有将发送的自定义表单对象也没有将相关值括在引号中。

基本上,我的问题是我在这样做:

DE:The Object:The Value

当我应该这样做的时候:

"DE:The Object":"The Value"