0

我无法使用外部数据创建体式任务。我可以很好地创建任务,但我无法弄清楚鸡尾酒是什么才能使用文档中提到的“外部”数据。

$.ajax({
   url : global.task.url,
   type: "post",
   data: {
    assignee: "my-email@hidden.com",
    name: "Test task",
    notes: "this is a note",
    projects: 123123123123,
    workspace: global.workspace,
    external: {
     "id": "test",
     "data": "12345099"
    }
   },
   beforeSend: function (xhr) {
    xhr.setRequestHeader("Authorization", "Bearer " + "MY-TOKEN");
   }
 })

上面的代码导致 500 错误请求。

我也尝试过发送外部字符串化,这会导致错误“请求没有匹配的路由”。

如果我从数据中删除“外部”,上面的代码可以完美运行。

我将是第一个说我通常不调用 API 的人,所以我觉得我一定是在做一些愚蠢的事情。任何帮助表示赞赏!

更新:

我能够通过传入外部来创建任务:

'external.id' = "test",
'external.data' = "123123123"

但是,我没有看到我生成的外部数据,所以还有一些事情正在发生。

更新(2):

如果我运行下面的代码,我将收到 500 服务器错误。如果我注释掉数据中的“外部”部分,则任务会正确添加。

$.ajax({
 url : "https://app.asana.com/api/1.0/tasks",
 contentType: "application/json",
 type: "post",
 beforeSend: function (xhr){
  xhr.setRequestHeader("Authorization", "Bearer " + settings.token);
 },
 data: JSON.stringify({
  data: {
   assignee: "my-email@hidden.com",
   name: "Test task",
   notes: "this is a note",
   projects: [5555555555555], //not the real one i am passing in
   external: {
    id: "testID",
    data: "some sweet data"
   },
   workspace: 555555555555 //not what i am really passing in
  }
 })
})
4

2 回答 2

0

难道你已经用 id 创建了一条记录test?ID 是唯一的 - 它们必须是唯一的,否则您无法使用它进行访问。试试随机ID什么的?您可以随时GET /tasks/external:test查看那里是否有任务。

于 2015-01-29T20:06:10.680 回答
0

我在这里遇到的问题是我将外部 ID 作为整数传递,它不断从 Asana 返回“无效请求”错误。一旦我将它转换为字符串,使用外部数据创建任务就可以正常工作。

于 2017-03-29T09:08:52.840 回答