Asana Api轨道附件



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

我的JSON请求体如下:

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

我在POST上收到这个输出:

error: file: File is not an object 

"attachment"变量是一个规则的rails形式的附件。

有什么想法吗?

-----编辑-----

对于任何展望未来的人来说,我都是用法拉第宝石计算出来的。这是我使用的代码:

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端点与所有其他表单上传完全一样。

相关内容

  • 没有找到相关文章

最新更新