0

我有以下代码在 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);
                }
        }

但它给了我一个错误,说 Return code: 400 {"errors":[{"message":"workspace: Not the correct type"}]}

请帮忙 !!

4

2 回答 2

0

(我在 Asana 工作。)

此错误消息意味着您传入的 ID 4661999437107 引用了一个不是工作区的对象。使用/workspaces端点获取您所在的工作区的列表。

于 2013-03-26T16:42:18.300 回答
0

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

如果它的字符串,您的请求 json 需要在工作区的值周围加上双引号(“”) 。

如果它是一个数组,那么您的请求需要相应地框起来(值列表周围的方括号[] )。

只要确保值的类型是同步的。

于 2013-03-25T09:41:14.967 回答