我有以下代码在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”}]}
请帮助!!
答案 0 :(得分:0)
这意味着workspace
传递的值为不正确的类型。交叉检查它接受的值的类型。
如果是字符串,你的请求json需要在工作空间的值周围加上双引号(“”)。
如果是一个数组,那么您的请求需要相应地构建(方括号[] 围绕值列表)。
只需确保值的类型同步。
答案 1 :(得分:0)
(我在Asana工作。)
此错误消息表示您传入的ID,4661999437107,指的是非工作空间的对象。使用/workspaces
端点获取您所在工作区的列表。