【发布时间】: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