使用外部数据创建体式任务

Create an Asana task with External Data

本文关键字:任务 创建 数据 外部      更新时间:2023-09-26

我在使用外部数据创建体式任务时遇到问题。 我可以很好地创建一个任务,但我无法弄清楚能够使用文档中提到的"外部"数据的鸡尾酒是什么。

$.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
  }
 })
})

可能是您已经创建了 id test 的记录吗?ID 是唯一的 - 它们必须是唯一的,否则您无法使用它进行访问。尝试随机ID或其他东西?您可以随时GET /tasks/external:test,看看那里是否有任务。

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