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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: php对接小鹅通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分钟延迟


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

请求参数

1690264938451.png


请求格式

 { 
     "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正常码来直接进行操作。同时,尽量把小鹅通和本地代码的交互生成日志,便于快速查询问题。


@漏刻有时

相关文章
|
22天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3968 5
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
10天前
|
JSON BI API
商城上货API接口的实战案例
在商城上货过程中,API接口扮演着至关重要的角色。以下是对商城上货API接口的实战分析,涵盖其主要功能、类型、安全性以及实战案例等方面。
|
7天前
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。
|
9天前
|
JSON 数据挖掘 API
电商信息指南:API接口淘宝关键词、店铺所有商品获取
要获取淘宝关键词商品数据和店铺所有商品的API接口,需先注册淘宝开放平台账号并创建应用,获取API密钥。接着,使用密钥获取访问令牌,详细阅读API文档,构造并发送API请求,解析响应数据。特别地,使用`item_search_shop`接口可获取店铺内所有商品信息。
|
10天前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
17 2
|
14天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
22天前
|
JSON 安全 API
抖音店铺商品信息的 API
抖音店铺商品信息的 API 主要用于获取商品的详细信息,包括基本信息、属性、库存、评价、推广信息等。开发者需注册账号、申请权限、阅读文档、发送请求并处理响应。此外,还提供商品搜索和管理接口,帮助商家优化商品展示和管理订单,提高运营效率。使用时需遵守平台规则,确保数据安全和合法性。
|
10天前
|
编解码 API 数据库
商品详情 API 接口的返回结果通常包含哪些信息?
商品详情API接口返回的信息涵盖多个方面,主要包括商品基本信息(ID、标题、图片、价格、库存、SKU)、详细描述与规格参数、销售与评价信息(销量、好评率、评价内容、促销活动)、物流与售后信息(发货地、运费模板、退换货政策、保修期限)及店铺信息(ID、名称、评分)和关联推荐信息(相似商品、搭配商品)。这些信息有助于用户全面了解商品并做出购买决策。
|
13天前
|
Java 测试技术 API
如何利用 1688 API 接口获取商品信息?
利用 1688 API 获取商品信息的步骤包括:注册开发者账号并创建应用,申请 API 权限,获取 API 密钥,了解 API 文档,编写代码调用 API,并进行测试与调试。最终在生产环境中上线应用,确保合法合规使用。
|
4天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
16 2

推荐镜像

更多