我正在尝试使用Rest调用将文件上传到google驱动器的API。 API表示如果要为文件命名必须传递元数据,并且应将其作为multipart上传。
我收到了一条错误请求'错误。我认为这可能是由于使用Rest客户端有多种内容类型。
RestClient::Request.execute(
:method => "post",
:url => "https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart",
:headers => {:Authorization => "Bearer #{access_token}", :content_type => 'multipart/related'},
:payload => {:metadata => "{'title' : 'testing'}", :file => File.new(file, 'rb'), :multipart => true}
)
任何帮助都会很棒!谢谢!
答案 0 :(得分:0)
我相信,使用给定的库(rest-client),这是不可能的,因为根据Google的要求,需要订购多部件,并且每个部件必须具有正确的mime类型。
所以,我会说,你使用的语法最接近正确,但不幸的是,宝宝似乎不支持这个评论时的[1]。
如果您仍在寻找解决方案,我发现最接近的是直接挖掘Google的API客户端库,他们在hurley [2]的帮助下手工制作多部分请求。
您可以查看源代码以获取一些想法。[3]
希望这有帮助。
[1] https://github.com/rest-client/rest-client/pull/222