【问题标题】:How to Add Tag via Asana API如何通过 Asana API 添加标签
【发布时间】:2012-06-30 20:32:09
【问题描述】:

我正在尝试进行简单的 Salesforce-Asana 集成。我有许多功能在工作,但在将标签添加到工作区时遇到了麻烦。由于我找不到关于 addTag 方法的文档,所以我在猜测需要什么。

如果我将以下 JSON 发布到 https://app.asana.com/api/1.0/workspaces/WORKSPACEID/tasks:

{"data":{"name":"MyTagName","notes":"测试笔记"}}

标签是在 Asana 中创建的,但带有空白注释和名称字段。如果我尝试变得更花哨并发布:

{"data":{"name":"MyTagName","notes":"Test Notes","followers":[{"id":"MY_USER_ID"}]}}

我收到:

{"errors":[{"message":"无效字段:{\"data\":{\"name\":\"MyTagName\",\"notes\":\"Test Notes\" ,\"关注者\":[{\"id\":\"MY_USER_ID\"}]}}"}]}

我认为反斜杠可能意味着我的请求正在被帖子修改,尽管调试输出在帖子之前显示了一个格式正确的 json 字符串。

示例代码:

JSONGenerator jsongen = JSON.createGenerator(false);

jsongen.writeStartObject();
jsongen.writeFieldName('data');
jsongen.writeStartObject();
jsongen.writeStringField('name', 'MyTagName');
jsongen.writeStringField('notes', 'Test Notes');
jsongen.writeFieldName('followers');
jsongen.writeStartArray();
jsongen.writeStartObject();
jsongen.writeStringField('id', 'MY_USER_ID');
jsongen.writeEndObject();
jsongen.writeEndArray();
jsongen.writeEndObject();
jsongen.writeEndObject();

String requestbody = jsongen.getAsString();

HttpRequest req = new HttpRequest();
req.setEndpoint('https://app.asana.com/api/1.0/workspaces/WORKSPACEID/tags');
req.setMethod('POST');

//===Auth header created here - working fine===
req.setBody(requestbody);

Http http = new Http();
HTTPResponse res = http.send(req);

return res.getBody();

任何帮助表示赞赏。我对 JSON 和 Asana API 的使用经验不足。

【问题讨论】:

    标签: asana


    【解决方案1】:

    问题是我发布到了错误的端点。我应该使用 /tags 并在请求正文中包含 workspaceid 而不是工作空间/工作空间 ID/标签。

    【讨论】:

      【解决方案2】:

      啊哈,所以你可以添加标签甚至设置关注者,尽管 API 没有提到你可以或声称关注者是只读的。

      所以总结一下其他感兴趣的人:发布到端点https://app.asana.com/api/1.0/tags 你可以创建一个这样的标签:

      { "data" : { "workspace": 1234567, "name" : "newtagname", "followers": [45678, 6789] } }

      其中 1234567 是您的工作区 ID,45678 和 6789 是您的新关注者。

      【讨论】:

        【解决方案3】:

        自从您发布此问题以来,Asana 的 API 和开发人员已经引入了标签。您的文档非常清楚地列出了您的问题的答案:

        https://asana.com/developers/api-reference/tags

        【讨论】:

          【解决方案4】:

          我对你的问题有点困惑。您问“如何添加标签”,但问题的前半部分谈到了添加任务。您所描述的问题是您正在尝试设置任务的追随者,但根据 Asana 的 API 文档,追随者字段目前是只读的。这就是您收到错误的原因。您现在无法使用 API 设置关注者。

          您问题的第二部分 - 带有示例代码 - 看起来您正在尝试添加标签。但是,目前 Asana API 不支持这一点(至少根据 API 文档)。您可以更新现有标签,但不能添加标签。

          所以,总结一下:此时 API 不允许您将关注者添加到任务或创建新标签。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-02-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多