Asana Api Rails附件

我正在尝试为Asana任务添加附件。

我的JSON请求体如下:

request_body = { "data" => { "file" => "@#{attachment.tempfile}" } } 

我在POST上收到这个输出:

 error: file: File is not an object 

“附件”变量是常规的轨道forms附件。

有任何想法吗?

– – -编辑 – – –

对于任何寻找未来的人,我都会使用法拉第gem来计算它。 这是我使用的代码:

 connection = Faraday.new(:url => @uri) do |conn| conn.response :logger conn.request :multipart conn.request :url_encoded conn.basic_auth(@api_key, '') conn.adapter :net_http end payload = { :file => Faraday::UploadIO.new(file, file_type) } response = connection.post(@uri, payload) return response 

啊,这实际上是你无法使用JSON的一种情况 – 你需要进行表格编码上传,否则你只是试图将“file”参数设置为字符串“@tmpfile.txt”(或者有什么您)。

我并不熟悉rails,但真正的问题是“如何从Rails发布文件上传” – 这里的Asana端点与所有其他表单上传完全一样。