【问题标题】:Asana Api Rails AttachmentAsana Api 导轨附件
【发布时间】:2015-02-26 02:13:17
【问题描述】:

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

我的 JSON 请求正文如下:

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

我在 POST 上收到此输出:

error: file: File is not an object 

“附件”变量是一个常规的导轨形式附件。

有什么想法吗?

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

对于任何展望未来的人,我使用法拉第宝石解决了这个问题。这是我使用的代码:

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 

【问题讨论】:

    标签: ruby-on-rails attachment asana


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了!感谢您的指导。我想通了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2019-02-28
    • 1970-01-01
    • 2011-02-13
    相关资源
    最近更新 更多