Foxtable(狐表)用户栏目专家坐堂 → 网盘api的post调用失败,请帮忙测试


  共有4748人关注过本帖树形打印复制链接

主题:网盘api的post调用失败,请帮忙测试

帅哥哟,离线,有人找我吗?
luodang2050
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
网盘api的post调用失败,请帮忙测试  发帖心情 Post By:2016/7/11 20:49:00 [只看该作者]

已上传实例,请在命令窗口直接调用函数“Functions.Execute("复制文件测试")”测试,谢谢!

API说明文档详见:http://manual.seafile.com/develop/web_api_v2.1.html

 

预期实现效果,将资料库“中国”中的文件“/test/foo.c”复制到"/foo.c",个人测试报远程服务器400错误

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:seafile文件管理测试.table

Copy File

POST https://cloud.seafile.com/api2/repos/{repo-id}/file/?p=/foo.c

Request parameters

  • repo-id
  • p
  • operation
  • dst_repo
  • dst_dir

Sample request

curl -v -d "dst_repo=73ddb2b8-dda8-471b-b7a7-ca742b07483c&dst_dir=/&file_names=foo.c" -H 'Authorization: Token f2210dacd9c6ccb8133606d94ff8e61d99b477fd' https://cloud.seafile.com/api2/repos/c7436518-5f46-4296-97db-2fcba4c8c8db/file/?p=/foo.c

Sample response

...
< HTTP/1.1 200 OK
...
"success"


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/12 0:23:00 [只看该作者]

400错误,是服务器无法理解你的请求。你合成的post情况肯定有问题。

 

再有就是,你给的网址,都打不开。别人不知道怎么调用


 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/12 9:29:00 [只看该作者]

检查了实在不知post哪里出现问题,测试账号项目里面已经填好了,即

网址:101.200.184.108

账号:admin@seafile.com     

密码:admin

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/12 10:16:00 [只看该作者]

 比如创建文件,就这样调用,其余的一样。

 

Dim msg As String = "operation=create"
Dim req = System.Net.WebRequest.Create("http://101.200.184.108/api2/repos/a716c6e0-23bf-450a-a7e7-b976c18f2ae9/file/?p=/foo.c")
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"    
req.Headers.Add("Authorization", "Token fd5c3f6fa71a2d00254863528206cadd2c4c4e5f")
req.Accept = "application/json; charset=utf-8; indent=4"

Dim aryBuf As Byte() = Encoding.GetEncoding("UTF-8").GetBytes(msg)
req.ContentLength = aryBuf.Length
Dim writer = req.GetRequestStream()
writer.Write(aryBuf, 0, aryBuf.Length)
writer.Close()
writer.Dispose()
Dim pos = req.GetResponse
Dim stm As System.IO.Stream = pos.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim str As String = reader.ReadToEnd
pos.Close
stm.Close
reader.close
msgbox(str)

 

[此贴子已经被作者于2016/7/12 10:16:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/12 12:35:00 [只看该作者]

创建文件的调用post之前是已经调通了的,也跟老师建议的一样写法,就是复制文件的api测试不通,格式检查了没法问题,请看下复制文件的api


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/12 12:44:00 [只看该作者]

帮助文档有问题,要加上参数

 

Dim msg As String = "operation=copy&dst_repo=a716c6e0-23bf-450a-a7e7-b976c18f2ae9&dst_dir=/&file_names=foo.c"
Dim req = System.Net.WebRequest.Create("http://101.200.184.108/api2/repos/a716c6e0-23bf-450a-a7e7-b976c18f2ae9/file/?p=/foo.c")
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"    
req.Headers.Add("Authorization", "Token fd5c3f6fa71a2d00254863528206cadd2c4c4e5f")
req.Accept = "application/json; charset=utf-8; indent=4"
Dim aryBuf As Byte() = Encoding.GetEncoding("UTF-8").GetBytes(msg)
req.ContentLength = aryBuf.Length
Dim writer = req.GetRequestStream()
writer.Write(aryBuf, 0, aryBuf.Length)
writer.Close()
writer.Dispose()
Dim pos = req.GetResponse
Dim stm As System.IO.Stream = pos.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim str As String = reader.ReadToEnd
pos.Close
stm.Close
reader.close
msgbox(str)

 

 

[此贴子已经被作者于2016/7/12 12:44:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/12 12:53:00 [只看该作者]

已经调试成功了,老师果然经验丰富,文档有问题都看出来了,要不调个几天都调不出来,感谢

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/21 13:32:00 [只看该作者]

还是上面的api,请教像这种带-H参数的应该怎么提交post?

Upload File

After getting the upload link, POST to this link for uploading files.

POST http://cloud.seafile.com:8082/upload-api/73c5d117-3bcf-48a0-aa2a-3f48d5274ae3

Errors

400 Bad request
440 Invalid filename
500 Internal server error

Sample request

curl -H "Authorization: Token f2210dacd9c6ccb8133606d94ff8e61d99b477fd" -F file=@test.txt -F filename=test.txt -F parent_dir=/ http://cloud.seafile.com:8082/upload-api/73c5d117-3bcf-48a0-aa2a-3f48d5274ae3

Sample response

"adc83b19e793491b1c6ea0fd8b46cd9f32e592fc"
[此贴子已经被作者于2016/7/21 13:34:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/21 14:26:00 [只看该作者]

 不是这样吗?

 

req.Headers.Add("Authorization", "Token fd5c3f6fa71a2d00254863528206cadd2c4c4e5f")


 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/21 14:32:00 [只看该作者]

是以下这几个参数怎么传递?

-F file=@test.txt -F filename=test.txt -F parent_dir=/     


 回到顶部
总数 17 1 2 下一页