代码之家  ›  专栏  ›  技术社区  ›  Jonas Söderström

Ruby OAuth文件上载/多部分投递请求

  •  0
  • Jonas Söderström  · 技术社区  · 15 年前

    我已经看了几天了 找到了解决方案。有没有一种方法可以使用OAuth Ruby上传文件?

    我正在使用一个REST系统,该系统通过OAuth保护他们的资源。我正在使用Ruby和OAuth Ruby构建一个测试工具,以便更容易地将测试数据上载到系统中。但是我不能到处把文件上传到资源上。

    当我发送一个正常的请求时,除了将文件作为 参数使签名无效。

    例子:

     @access_token.post("http://.../imageresource", {:name=>"awesome cat"}, {'Content-Type' => 'multipart/form-data'})
    

    工作,但给了我:

     <error>
        <message>images/POST: Request has no file data</message>
     </error>
    

    我不知道如何将文件添加到日志中。

    有什么想法吗?

    谢谢,

    2 回复  |  直到 15 年前
        1
  •  1
  •   Community CDub    8 年前

    我知道这是旧的,但我也希望这样做, this 看来它能做到。

    实际上有个问题 ruby-how-to-post-a-file-via-http-as-multipart-form-data 有个例子。

        2
  •  0
  •   Bob Aman    14 年前

    这要么是不可能的 oauth 或者非常困难。不管怎样,我都不知道用那个宝石怎么做。

    可以用我的 signet gem只要您有一个方便的方法来构造有效的多部分请求主体。这种请求体的构造超出了OAuth GEM的范围,但是应该很容易与大多数HTTP客户机进行连接。这个 httpadapter 然后,gem可以将请求转换为 图章 可以签名。如果您的首选HTTP客户端不受支持,请通知我 HTTP适配器 我会马上解决的。

    参见第二个示例 fetch_protected_resource 方法来了解如何执行此操作。

    推荐文章