获取指定资源学习记录信息

  • 前言
  • 一、获取指定资源学习记录信息请求方式及url
  • 二、获取指定资源学习记录信息请求参数
    • 请求参数
    • 请求格式
  • 三、单人单学习记录API封装函数
  • 四、单人多学习记录API封装函数
  • 总结

前言

开发使用小鹅通API的时候,以下是一些需要注意的事项:

  1. 了解API文档:在开始开发之前,仔细阅读小鹅通的API文档,了解可用的接口和功能。熟悉文档中的请求参数和响应格式是非常重要的。

  2. 身份认证:使用小鹅通API,一般需要进行身份认证,获取访问令牌(Access Token)。确保在每次请求API时,都使用有效的访问令牌进行身份认证。

  3. API调用频率限制:小鹅通对API调用有一定的频率限制,确保你的应用程序在调用API时不会超过限制。若超过限制,可能会导致API调用失败或被临时封禁。

  4. 错误处理:在使用API时,要处理可能出现的错误情况。小鹅通的API会返回特定的错误码和错误信息,确保你的应用程序能正确处理这些错误,以提供更好的用户体验。

  5. 数据安全:在处理用户数据时,要注意数据的安全性和隐私保护。确保使用合适的加密和安全措施来保护用户数据。

  6. 版本控制:小鹅通的API可能会有更新和改动,确保你的应用程序使用的是最新的API版本,并及时更新你的代码以适应可能的变化。

  7. 测试和监控:在开发过程中,进行充分的测试,确保API调用的正确性和稳定性。同时,设置适当的监控机制,及时发现和解决潜在的问题。


一、获取指定资源学习记录信息请求方式及url

  • 请求方式:POST
  • 请求头:Content-Type:application/json
  • 接口地址:https://api.xiaoe-tech.com/xe.user.leaning_record_by_resource.get/1.0.0
  • 频率限制:10秒3000次
  • 备注:数据是准实时的,4~5分钟延迟

二、获取指定资源学习记录信息请求参数

请求参数

参数名 必选 类型 说明 备注(示例)
access_token string 专属token
resource_id string 资源id
data.list array user_id数组上限100, 如果传空数组,则代表所有用户
data.max_record bool 是否获取学习最大记录,默认false,设为true后会在所有终端的学习记录中获取最大学习记录的一条记录
data.is_search bool 是否启用搜索,默认false
data.search_max_learn_progress int 最小完成百分比,添加后会筛选出来max_learn_progress > {指定值}的学习记录,值:0-100
data.stay_time int 该资源的看课学习时长,添加后会筛选出来stay_time >= {指定值}的学习记录

请求格式

 { "access_token" : "xxxxxxxx", "resource_id" : "xxxxxx", "data" : { "search_max_learn_progress" : 90, "list" : ["xxxx"]},"page": 1,"page_size": 10}

三、单人单学习记录API封装函数

/*获取指定资源学习记录信息* 频率限制:10秒3000次* 备注:数据是准实时的,4~5分钟延迟* resource_id,是,资源id;* list,是,user_id数组,上限100, 如果传空数组,则代表所有用户;* data.search_max_learn_progress,最小完成百分比,添加后会筛选出来max_learn_progress > {指定值}的学习记录,值:0-100* data.stay_time,否,该资源的看课学习时长,添加后会筛选出来stay_time >= {指定值}的学习记录* By WoodCutter 2023-05-25* 返回参数* learn_progress,最近一次学习进度 0-100;* is_finish,是否已学完 1-已学完;* stay_time,学习时长,单位秒;
*/function getUserLearnRecord($resource_id, $user_list)
{require_once './libs/Client.php';$client = new Client();$url = "https://api.xiaoe-tech.com/xe.user.leaning_record_by_resource.get/1.0.0";$method = "post";$data = array("search_max_learn_progress" => 0,"stay_time" => 0,"list" => $user_list);$params = ["resource_id" => $resource_id, 'data' => $data];$result = $client->request($method, $url, $params);return json_encode($result);
}

四、单人多学习记录API封装函数

将资源ID,组成数组格式:

$resource_list = ['l_6498027fe4b0cf39e6dc560b','l_64980f01e4b0f2aa7dfca5aa', 'l_64980fc3e4b0cf39e6dc5e90', 'l_64981fb6e4b0b0bc2bf7b35e'];

遍历$resource_list每次的单人单学习记录API封装函数,然后将stay_time进行累计。

举例如下:
获取的小鹅通学习记录数据(模拟数据)

$data = [['code' => 0, 'data' => ['list' => ['stay_time' => 7]]],['code' => 1, 'data' => ['list' => ['stay_time' => 8]]],['code' => 0, 'data' => []],['code' => 0, 'data' => ['list' => ['stay_time' => 9]]],
];

计算如下:

  • ‘code’ => 0,代表正常返回,不返回不计算;
  • ‘data’ => [],代表能返回数据,不返回数据不计算;
  • $v['code'] == 0 && !empty($v['data']),即保证返回数据格式。
$total_time = 0;
foreach ($data as $k => $v) {//var_dump($v['code']);if ($v['code'] == 0 && !empty($v['data'])) {$stay_time = $v['data']['list']['stay_time'];//echo $stay_time . "<br>";$total_time += $stay_time;}
}

总结

在小鹅通API对接的过程中,token是否超限超时过期、API接口是否超限都有特定的返回码,凭据返回码来确定下步的操作如何安排:是否入库,是否跳转页面,不能直接使用cpde=0正常码来直接进行操作。同时,尽量把小鹅通和本地代码的交互生成日志,便于快速查询问题。


@漏刻有时

php对接小鹅通API开发高级实战案例解析:获取指定资源学习记录信息(单人单学习记录、单人多学习记录累计、返回数据格式确认)相关推荐

  1. php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)

    文章目录 前言 一.环境部署 1.封装BdPan类库 2.回调地址配置 二.获取授权码Code 1.手动获取Code 2.生成本地token 3.读取AccessToken凭证 4.爬虫函数 二.简化 ...

  2. 明道云对接小鹅通,沉淀内容付费平台数据

    如今,无论是toB还是toC公司都离不开在微信生态里做内容营销.传统的微信公众号.服务号都是最基础的微信营销平台,而更前沿的微信营销策略则要丰富音频.视频.直播等内容,甚至做到内容直接变现. 今天展示 ...

  3. php对接阿里云API调用企业税号查询的高级实战案例解析(下拉筛选查询、远程调用API、xm-select组件应用)

    阿里云API调用企业税号查询 一.功能描述 1.请求参数 2.GET请求代码 3.返回示例 4.错误码 二.核心代码 1.引入外部JS库 2.构建HTML容器 3.xmSelect回调 总结 一.功能 ...

  4. 不逼自己一把都不知道自己还能这么优秀(小鹅通学习记录大批量队列同步)

    不逼自己一把都不知道自己还能这么优秀-小鹅通学习记录大批量队列同步实战日志 前言 一.编程语言介绍 1.php是世界上最好的语言 2.第三方API对接的苦恼 3.为什么说好的项目进度表都是画饼 二.炫 ...

  5. Linkflow+小鹅通,打造全链路线上个性化课堂

    疫情阻挡了人们外出的脚步,却阻挡不了Linkflow在对接这条路上的脚步.这不,小犀又来为疫情中做线上直播活动的小伙伴们雪中送炭了! Linkflow新对接了知识产品与用户服务的数字化工具小鹅通! 不 ...

  6. 【分享】“小鹅通“在集简云平台集成应用的常见问题与解决方案

    1.小鹅通订单支付后触发动作获取不到样本数据怎么办? 小鹅通推送开启步骤: 1.进入小鹅云选择对应的店铺 2.权限管理 3.消息订阅(开启需要推送的功能) 2.小鹅通出现全局返回码了怎么办? 接口返回 ...

  7. 小鹅通六周年:新知识服务时代,做好企业的“共享CTO”

    2022年,产业数字化汹涌而来,驱动企业变革转型的同时,知识也以新的形式出现在各行各业.人人表达和传递知识,知识服务开始进入"下半场". 如何应用数字化产品满足个人和组织的知识表达 ...

  8. 生态伙伴 | 小鹅通企学院入驻飞书,助力企业一键打造自己的企业大学

    020年开春季,因为疫情的影响,线上培训成为企业的一致选择.然而,困难也随之而来:线上培训效果无法量化,培训形式单一,培训设备受限制,培训受众难管理- 飞书携手优质生态伙伴--小鹅通·企学院,为企业用 ...

  9. python怎么执行程序_小鹅通视频怎么下载?用python实现小鹅通视频下载(二)

    小鹅通视频怎么下载?用python实现小鹅通视频下载(二) 背景 上次分享<小鹅通视频怎么下载?用python实现小鹅通视频下载(一)[1]>后,引来了很多人咨询小鹅通视频怎么下载的问题. ...

最新文章

  1. spring boot jpa 整合
  2. CUDA Samples: Streams' usage
  3. C错误异常处理,异常处理
  4. c语言答案填空选择,C语言试题配答案
  5. python三层装饰器-python三大神器===》装饰器
  6. 移动端数据java后台接收
  7. linux c截断文件
  8. 将表中的数据自动生成INSERT、UPDATE语句
  9. jwt token注销_退出登录时怎样实现JWT Token失效?
  10. [保存]C# 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
  11. laravel5.5表单验证
  12. rac备份及恢复的重要概念之一——Redo Threads和Streams
  13. 酷源KYCMS内容网站管理系统
  14. git 某个文件回退到指定版本
  15. fgo升级经验计算机,命运冠位指定狗粮本每日经验表 fgo国服狗粮本刷取技巧攻略[多图]...
  16. c语言写的电脑开关机代码,只需要几行代码制作电脑开关机控制软件
  17. Word中批量插入图片,自动排版
  18. 为什么Multi-DRM如此重要?
  19. python pyecharts 数据可视化 饼状图绘制
  20. vscode 插件 leetcode 登录失败问题

热门文章

  1. 软件测试职业发展方向(不要迷茫了,赶紧卷起来)
  2. 用C语言实现直接插入排序(附有详细代码)
  3. AI预测彩票,使用chatgpt和lstm神经网络(文末附源码)
  4. c语言和java的区别
  5. 谈一谈|创新创业训练营结业思考分享
  6. 考研计算机专业总分255,考研总分多少
  7. 2006年100款最佳安全工具
  8. 如何服务器上查找nginx网站目录下,查看nginx安装目录和版本的多种方法、命令详细介绍...
  9. eclipse中jsp插入背景图片
  10. python数据类型有哪些、分别有什么用途_python