Foxtable(狐表)用户栏目专家坐堂 → [求助]求助如何能通过API获取别的系统的数据


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

主题:[求助]求助如何能通过API获取别的系统的数据

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


加好友 发短信
等级:幼狐 帖子:93 积分:1070 威望:0 精华:0 注册:2015/3/8 11:11:00
[求助]求助如何能通过API获取别的系统的数据  发帖心情 Post By:2018/8/4 9:30:00 [只看该作者]

  各位老师好,在用的系统提供了API,想通过狐表获取数据进一步处理,不知到如何操作。以下是api的规则。
   https://hc.jiandaoyun.com/doc/10993
   请教各位老师,我该如何操作?
这是官方的C#实例https://github.com/jiandaoyun/api-demo-dotnet

规则

  • API的统一访问地址为:https://www.jiandaoyun.com/api/v1
  • 所有API请求都必须通过HTTPS进行身份验证和发起
  • 统一采用POST请求的形式
  • 数据传输编码为UTF-8
  • 所有数据均为JSON格式
  • 以下所有接口路径中的app_identry_id分别表示应用ID和该应用内的表单ID,因此app_id+entry_id表示全局唯一的表单ID,前往会员中心的API文档进行查看。
[此贴子已经被作者于2018/8/4 10:01:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 9:35:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:93 积分:1070 威望:0 精华:0 注册:2015/3/8 11:11:00
  发帖心情 Post By:2018/8/4 9:53:00 [只看该作者]

有点蓝 老师,有再详细的帮助?不知道从何入手。没有编程基础。图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 10:31:00 [只看该作者]

如果没有基础,那就建议先去学学变成基础。不然就算给了代码给你,也看不懂,不会应用到自己的项目中,也不可能所有接口都给你写出来

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 10:38:00 [只看该作者]

代码类似

Dim appId = "5b1747e93b708d0a80667400"
Dim entryId = "5b1749ae3b708d0a80667408"
Dim apiKey = "CTRP5jibfk7qnnsGLCCcmgnBG6axdHiX"

Dim url As String = "https://www.jiandaoyun.com/api/v1/app/" & appId & "/entry/" & entryId & "/data"

Dim jo As New JObject
jo("data_id") = "59e9a2fe283ffa7c11b1ddbf"
jo("limit") = 100
Dim ja As New Jarray '定义数组
ja.Add("_widget_1508400000001")
ja.Add("_widget_1508400000002")
jo("fields") = ja
jo("filter") = New JObject
jo("filter")("rel") = "and"

ja = New Jarray 
Dim jo2 As new JObject
jo2("field") = "_widget_1508400000001"
jo2("type") = "text"
jo2("method") = "empty"
ja.Add(jo2)

jo2 = new JObject
jo2("field") = "_widget_1508400000002"
jo2("type") = "number"
jo2("method") = "not_empty"
ja.Add(jo2)
jo("filter")("cond") = ja

Dim hc As New HttpClient(url)
hc.Content = jo.ToString()
Dim ret As String = hc.GetData()
MessageBox.Show(ret)

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


加好友 发短信
等级:幼狐 帖子:93 积分:1070 威望:0 精华:0 注册:2015/3/8 11:11:00
  发帖心情 Post By:2018/8/4 11:02:00 [只看该作者]

老师你好,我根据代码将各ID都修改成真实的,点击执行出现“远程服务器返回错误: (400) 错误的请求。”,请问是什么原因?
是不是需要验证一下?

通过 HTTP Headers 设置 Authorization 的值为 "Bearer YOUR_APIKEY" 来进行安全性验证,

示例如下:

$ curl -i https://jiandaoyun.com/api/v1/callback \
  -H "Authorization: Bearer YOUR_APIKEY"

错误对照表

所有API使用 状态码+错误码 的响应方式来表示错误原因。接口正确统一返回HTTP状态码为 2xx 的正确响应。接口错误统一返回HTTP状态码为 400 的错误响应,同时响应内容会返回错误码(code)错误信息(message)

HTTP/1.1 400
Content-Type: application/json

{
  "code": 8303,
  "message": "超出请求频率限制",
}
[此贴子已经被作者于2018/8/4 11:12:00编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 11:19:00 [只看该作者]

"message": "超出请求频率限制",
接口调用过于频繁,被人家限制了

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


加好友 发短信
等级:幼狐 帖子:93 积分:1070 威望:0 精华:0 注册:2015/3/8 11:11:00
  发帖心情 Post By:2018/8/4 11:43:00 [只看该作者]

不是,那个是我复制的官方文档。在命令窗口中使用您提供的代码只弹出了400错误,没有错误代码。是不是要增加一条定义HTTP Headers?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 11:59:00 [只看该作者]

没看到接口文档要定义什么特殊的Headers

出错后看看返回值是什么内容

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


加好友 发短信
等级:幼狐 帖子:93 积分:1070 威望:0 精华:0 注册:2015/3/8 11:11:00
  发帖心情 Post By:2018/8/5 10:39:00 [只看该作者]

有点蓝老师,非常感谢您的帮助。使用您的代码显示狐表只显示400错误,不现实具体的错误代码,MessageBox显示空白。看到您再四楼写的,添麻烦了。目前对着您的代码和api文档,大体明白代码意思。
下图是他们文档中的,以我理解是不是要在代码中加入什么东西才能显示出错误码?

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180805103749.png
图片点击可在新窗口打开查看


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