-1

我正在尝试使用 asana api 向 asana 添加新任务。我使用 Json.net 和 C#,我发送到服务器的 json ( https://app.asana.com/api/1.0/workspaces/555/tasks ) 看起来像这样:

{"name":"aaaaaaaaaaaa","assignee ":111,"workspace":222,"followers":[333],"project":[444]}

那么服务器的响应是:

*{"data":{"id":1341474003806,"created_at": "2012-07-26T22:50:40.603Z","modified_at":"2012-07-26T22:50:40.603Z","name":"","notes":"","completed":false, "assignee_status":"later","completed_at":null,"due_on":null,"assignee":null,"workspace":{"id":555,"

所以看起来 asana 并没有保存我发送到服务器的任务名称、关注者、受让人和项目信息。此外,当我尝试使用以下 Uri ( https://app.asana.com/api/1.0/tasks/1341474003806 ) 和以下 json

{"name":"aaaaaaaaaaaaa"}

手动更新任务时, 我收到带有消息的 WebException “远程服务器返回错误:(404)未找到。”。但我仍然可以将此地址粘贴到网络浏览器中并查看任务详细信息:
*{"data":{"id":1341474003806,"assignee":null,"projects":[],"tags":[],"created_at":"2012-07-26T22:50:40.603Z", "modified_at":"2012-07-26T22:50:40.603Z","name":"","notes":"","completed":false,"assignee_status":"later","due_on":null ,"workspace":{"id":222,"name":"工作发展"},"followers":[{"id":333,"name":"username"}],"completed_at":null} }*
这个任务在我使用网络浏览器时也是不可见的。

难道我做错了什么?也许我在 json 中遗漏了一些东西?有人可以提供一个示例,说明如何使用.net 创建附加到工作区/项目的任务。或者提供一个成功创建任务的dump o json。或者只是给我一个解决方案。
如有需要,我可以提供源代码。

4

1 回答 1

2

(我在 Asana 工作)。

您的特定字段在创建任务时不被接受的原因是您需要将它们放在data您发送的顶级字典中的元素中,就像它在响应中出现的方式一样。由于您的所有字段都出现在该元素之外,因此它们将被忽略。

您的更新请求“未找到”的原因是您可能在应该使用 PUT(更新)时使用 POST(创建)到该 URL。没有 API 端点接受对特定任务 ID 的 POST。

于 2012-07-27T00:01:15.017 回答