回应是错误的

时间:2013-03-25 09:35:41

标签: java javascript asana

我有以下代码在asana中创建任务。

String data = "{" + "    \"data\": {"
        + "\"workspace\":4661999437107,"
        + "\"name\": \"crmit solutions\","
        + "\"notes\": \"NOTES_ABOUT_TASK_GO_HERE\","
        + "\"assignee\": \"ravi.khare@crmit.com\"" + "}"
        // + "    \"options\": {" + "        \"fields\": \"name\"}" 
                + "}";

        HttpClient client = new HttpClient();
        client.getParams().setAuthenticationPreemptive(true);
        client.getParams().setParameter("http.useragent", "Test Client");
        client.getState().setCredentials(
                new AuthScope("app.asana.com", 443, "realm"),
                new UsernamePasswordCredentials(
                        "1k3qqT7O.RVRyxHdHRLiYSH710c6NpVl", ""));

        BufferedReader br = null;
        PostMethod method = new PostMethod(
                "https://app.asana.com/api/1.0/tasks");
        method.setDoAuthentication(true);

        try {
            method.setRequestBody(data);
            int returnCode = client.executeMethod(method);
            System.out.println("Return code: " + returnCode);
            br = new BufferedReader(new InputStreamReader(
                    method.getResponseBodyAsStream()));
            String readLine;
            while (((readLine = br.readLine()) != null)) {
                System.out.println(readLine);
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
            method.releaseConnection();
            if (br != null)
                try {
                    br.close();
                } catch (Exception fe) {
                    System.err.println(fe);
                }
        }

但它给了我一个错误,说返回代码:400 {“errors”:[{“message”:“workspace:Not type type”}]}

请帮助!!

2 个答案:

答案 0 :(得分:0)

这意味着workspace传递的值为不正确的类型。交叉检查它接受的值的类型。

如果是字符串,你的请求json需要在工作空间的值周围加上双引号(“”)

如果是一个数组,那么您的请求需要相应地构建(方括号[] 围绕值列表)。

只需确保值的类型同步。

答案 1 :(得分:0)

(我在Asana工作。)

此错误消息表示您传入的ID,4661999437107,指的是非工作空间的对象。使用/workspaces端点获取您所在工作区的列表。