首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传文件到盒子接口v2

上传文件到盒子接口v2
EN

Stack Overflow用户
提问于 2012-09-13 03:22:38
回答 3查看 1.6K关注 0票数 0

我正在尝试使用他们的v2应用程序接口将文件上传到box.com。我可以使用curl成功上传文件,但不能从我的rails应用程序上传文件。我正在传递我的上传函数,正确的文件夹id和文件是由我的应用程序中的表单上传创建的tempfile对象。

下面是成功的curl命令

代码语言:javascript
复制
 curl https://upload.box.com/api/2.0/files/data -H "Authorization: BoxAuth api_key=API_KEY&auth_token=TOKEN" -F contract=@test.png -F folder_id=387656851 -ssl3

这是我的ruby代码

代码语言:javascript
复制
class BoxApi

require 'httmultiparty'
include HTTMultiParty
ssl_version :SSLv3

def initialize
    @key = API_KEY
    @token = TOKEN
end

def upload_file(folder_id,file,filename,content_type)
    File.open(file) do |open_file|
        response = self.class.post('https://upload.box.com/2.0/files/data', :query => {
            :file => open_file,
            :folder_id => folder_id
            }, :headers => {'Authorization' => "BoxAuth api_key=#{@key}&auth_token=#{@token}"})
        p response
    end

结束

我从文本框中得到一个html页面,看起来你的防火墙可能阻止了你的框或者你遇到了一个错误。

请与您的IT管理员联系,将防火墙配置为识别.box.com、.box.com和.boxcdn.net的所有子域。应该为这些域打开的端口是80和443。

如果仍不能解决问题,请在https://www.box.com/help提交支持工单。

你知道为什么curl命令可以工作,而ruby代码不行吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-13 04:46:06

这对我来说工作正常

代码语言:javascript
复制
require 'httmultiparty'

class SomeClient
  include HTTMultiParty
  base_uri 'https://api.box.com/2.0'
end

response = SomeClient.post('/files/data', 
    :headers => { 'authorization' => 'BoxAuth api_key={YOUR API KEY}&auth_token={YOUR TOKEN' },
    :body => { :folder_id      => '0', :somefile => File.new('large.jpeg')}
)

我会试着证实

  1. 您可以进行非上传API调用(即GET /folders/0)
  2. 如果不能,请检查您的防火墙设置。
票数 0
EN

Stack Overflow用户

发布于 2013-05-28 21:11:54

尽管迟到了,但对于遇到这个问题的人来说,这可能是有用的。在2.0版本的ruby-box中,有一个gem API可以与Box服务一起使用。

票数 1
EN

Stack Overflow用户

发布于 2012-09-13 06:40:13

Sean已经在他的回答中涵盖了这一点,但我将明确强调这一点。我们在使用不再推荐的https://upload.box.com网址时遇到了一些问题。我建议尝试https://api.box.com/2.0的网址,看看它是否会改变你的结果。

最坏的情况是,我会尝试使用wireshark之类的数据包分析器捕获数据包,并查找两种情况之间的差异。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12394894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档